锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲日韩图片专区第1页,亚洲AV无码精品色午夜果冻不卡,亚洲av日韩片在线观看http://www.tkk7.com/treenode/鍦ㄨ礬涓娿?/description>zh-cnFri, 09 May 2025 20:08:46 GMTFri, 09 May 2025 20:08:46 GMT60姝︿緺闅愬柣鍙嶆?/title><link>http://www.tkk7.com/treenode/archive/2006/12/01/84856.html</link><dc:creator>TreeNode</dc:creator><author>TreeNode</author><pubDate>Fri, 01 Dec 2006 07:33:00 GMT</pubDate><guid>http://www.tkk7.com/treenode/archive/2006/12/01/84856.html</guid><wfw:comment>http://www.tkk7.com/treenode/comments/84856.html</wfw:comment><comments>http://www.tkk7.com/treenode/archive/2006/12/01/84856.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.tkk7.com/treenode/comments/commentRss/84856.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/treenode/services/trackbacks/84856.html</trackback:ping><description><![CDATA[ <p> <br />杞歡涓氭繪槸鍏呮弧浜嗗艦褰㈣壊鑹茬殑闅愬柣銆傛瘮濡傝錛屾妸紼嬪簭涓殑闂縐頒負bug錛涙妸浜掕仈緗戜笂浼犳挱鐨勭梾姣掑彨鍋氳爼铏紱<br />鎶婅蔣浠跺紑鍙戠殑榪囩▼姣斾綔閫犳埧瀛?.....榪欎簺閮芥槸鎴戜滑榪欎釜琛屼笟涓祦琛岀殑闅愬柣錛屼互鑷充簬瀹冧滑宸茬粡鎴愪負杞歡寮<br />鍙戣呮枃鍖栦腑涓涓壒鏈夌殑緇勬垚閮ㄥ垎銆?/p> <p>鍦ㄨ繖閲岋紝鎴戞兂瑕佽鐨勬槸涓涓壒鍒叿鏈夆滀腑鍥界壒鑹測濈殑闅愬柣錛氭垜縐頒箣涓烘渚犻殣鍠匯?/p> <p>姣嬪焊鎴戝鍋氳В閲婏紝鍙兘寰堝紼嬪簭鍛樼湅鍒拌繖涓瘝灝辮凍浠ュ嬀璧蜂赴瀵岀殑鎯寵薄銆傛垜浠腑鐨勫緢澶氫漢鍠滄鎶婅嚜宸辨墍宕囨暚<br />鍜屼僵鏈嶇殑銆佽蔣浠剁晫鏈夊獎鍝嶅姏鐨勪漢縐頒箣涓哄ぇ渚狅紝騫跺夠鎯寵嚜宸辨湁鏈濅竴鏃ヨ兘澶熻揪鍒頒粬浠殑澧冪晫銆傦紙璺戦涓涓嬶紝<br />榪欎釜縐拌皳鐜板湪浼間箮鏈変簡涓涓瘮杈冭崏鏍圭殑銆佹垨鑰呰姣旇緝Web2.0鐨勭増鏈斺斿彨鍋氱墰浜猴級涓婁釜涓栫邯閭d釜涓漢<br />鑻遍泟涓諱箟鐨勫勾浠o紝鏇劇粡娑岀幇鍑轟竴澶ф壒榪欐牱鐨勪漢鐗╋紝鐜板湪寰堝浜轟粛鐒朵範鎯О浠栦滑涓衡滃ぇ渚犫濃斺旇繖鍏?br />涓寘鎷眰浼悰銆佺帇蹇椾笢銆侀矋宀蟲ˉ銆佹湵宕囧悰...</p> <p>闄ゆ涔嬪錛屾垜浠繕鍠滄灝嗛噸閲忕駭鐨勫嚭鐗堢墿縐頒箣涓烘鏋楃綾?鎶婅蔣浠跺紑鍙戠殑緇勭粐鍥綋姣斾綔姹熸箹甯淳錛?br />瑕佸艦瀹硅蔣浠跺紑鍙戠殑鐞嗘兂澧冪晫錛屼篃甯鎬細鎼嚭鈥滈鑺辨憳鍙朵勘鍙激浜衡濇垨鈥滄棤鍓戣儨鏈夊墤鈥濊繖鏍風殑鍙ュ瓙銆傛墍鏈夎繖浜?br />閮芥垨澶氭垨灝戠殑琛ㄦ槑錛氭渚犳繁娣卞獎鍝嶄簡澶ч噺鐨勭▼搴忓憳錛屼粬浠潪甯稿枩嬈㈢敤姝︿緺涓殑鐞嗗康鏉ユ瘮鍠昏蔣浠跺紑鍙戣繃紼嬩腑<br />鐨勭幇璞°傛垨璁革紝涔熸槸鍥犱負紼嬪簭鍛?鍜?鐨勭敓媧誨お榪囨灟鐕ワ紝闇瑕佹枃鍖栨潵鍔犱竴鐐瑰懗閬擄紝鑰屼粬浠嚜瑙変笉鑷鐨?br />閫夋嫨浜嗘渚犮傝繖灝辨槸鎵璋撶殑涓浗鐗硅壊鍚с?/p> <p>鎴戝繀欏昏佸疄鐨勬壙璁わ細鎴戣嚜宸卞氨鏇劇粡娣卞彈姝︿緺鐨勫獎鍝嶏紝榪囧幓涔熶竴鐩存病鏈夋劅鍒版湁浠涔堜笉濡ャ備絾鏄紝<br />鍦ㄥ墠鍑犲ぉ鐪嬭繃緗戜笂鐨勬煇浜涘洖甯栦腑涓浜涘厖婊℃渚犻殣鍠誨懗閬撶殑鏂囧瓧錛岀獊鐒惰寰楁湁浜涗笉鏄粙鍛熾?br />鎴戝紑濮嬫濊冿細瀵逛簬杞歡寮鍙戞潵璇達紝姝︿緺鏄笉鏄竴涓ソ鐨勯殣鍠伙紵緇撹錛氫笉鏄笉濂斤紝鑰屾槸闈炲父鐨?br />緋熴傛渚犲拰杞歡寮鍙戞牴鏈病鏈変粈涔堝叡鍚岀偣錛岀敋鑷沖彲浠ヨ鏄按鐏笉瀹圭殑銆?/p> <p>涓轟粈涔堣姝︿緺鍜岃蔣浠跺紑鍙戞病鏈夊叡鍚岀偣錛熸渚犺鐨勬槸鐮村潖鐨勮壓鏈傚お鍙插叕璇粹滀緺浠ユ鐘鈥濄?br />姝︿緺鐨勬剰涔夛紝鍦ㄦ渶濂界殑鎯呭喌涓嬶紝涔熶粎浠呮槸鏉瀵屾祹璐侀櫎鏆村畨鑹紝鏄鏃ф湁縐╁簭鐨勭牬鍧忋?br />闂鍦ㄤ簬錛氱牬鍧忔槸鐥涘揩鎯剰鐨勶紝浣嗙牬鑰屼笉绔嬪氨鏄函綺圭殑鐮村潖錛屾病鏈変換浣曠Н鏋佹剰涔夈?br />鐮村潖浠ュ悗鏂扮殑縐╁簭濡備綍寤虹珛鍛紵娌℃湁鍝竴涓渚犳晠浜嬩負姝ゅ仛鍑虹瓟妗堬紝<br />涔熸病鏈変竴涓緺瀹㈡搷蹇冭繖縐嶄簨銆備粬浠湪涔庣殑鏄滃崄姝ユ潃涓浜猴紝鍗冮噷涓嶇暀褰⑩濈殑楂樻墜褰㈣薄錛?br />鑷充簬璧頒簡浠ュ悗鐑傛憡瀛愯皝鏉ユ敹鎷撅紵閭f湰澶т緺鍙氨綆′笉鐫浜嗐?/p> <p>杞歡寮鍙戞槸寤鴻錛岃屼笉鏄?br />鐮村潖銆傚嵆浣挎棫鐨勭郴緇熼潪甯哥碂緋曪紝鎴戜滑涔熸病鏈夌悊鐢卞皢鍏朵粯涔嬩竴鐐斺旇繖灝辨槸涓轟粈涔堢幇浠g殑鏁忔嵎<br />寮鍙戣呴潪甯稿己璋冮噸鏋勭殑鍘熷洜銆傛瀯閫犳柊鐨勪唬鐮佸浐鐒舵槸鏋佸叿鍒涢犲揩鎰熺殑宸ヤ綔錛屼絾鏄蔣浠跺紑鍙戣繃<br />紼嬩腑榪樻湁鎴愭墦鐨勨滆偖鑴忊濆伐浣滐細闇姹傚垎鏋愶紝璁捐錛屾枃妗o紝璋冭瘯錛岀淮鎶?.....榪欎簺宸ヤ綔綣佸啑<br />鑰岀悙紕庯紝浣嗗嵈鏄暣涓紑鍙戣繃紼嬩腑蹇呬笉鍙皯鐨勭粍鎴愰儴鍒嗐傛兂娼囨磼涓涓嬪氨鎷嶆媿灞佽偂璧頒漢鐨?br />紼嬪簭鍛樻病鏈変粈涔堣亴涓氱礌璐ㄥ彲璦銆?/p> <p>姝︿緺涓殑楂樻墜鏄粈涔堝艦璞★紵澶╅┈琛岀┖錛岀嫭寰鐙潵錛岀鍑洪娌°傝繖鏍風殑浜虹湅璧鋒潵寰堟湁鎬ф牸錛?br />浣嗗湪鐜頒唬浼佷笟涓伆鎭版槸鏈蹇岃鐨勩傝屾姝g粡緇忔彁鍊eam Work鐨勫洟闃熷弽鍊掑湪姝︿緺涓父甯告垚涓?br />璁ュ埡鐨勫璞♀斺斾綘涓嶅Θ鐪嬬湅灝戞灄鎴栧叏鐪熻繖鏍風殑澶у瀷鍥㈤槦鍦ㄩ噾搴稿皬璇翠腑琚笐鍖栨垚浜嗕粈涔堝湴姝ャ?/p> <p>姝︿緺鎵鎻忕粯鐨勬槸鍐滀笟紺句細鐨勫吀鍨嬫儏鍐點備竴浣嶉珮鎵嬮氬父鍙細鎶婅嚜宸辯殑鎶鑹轟紶鎺堢粰鑷充翰鍜屽皯鏁板嚑涓?br />淇″緱榪囩殑寮熷瓙錛涘紵瀛愪害鐒躲傝繖縐嶇粨鏋勯潪甯歌剢寮憋細涓鏃﹀嚭鐜頒換浣曢棶棰橈紝榪欓棬鎶鑹哄緢瀹規槗灝卞け浼犱簡銆?/p> <p>姝︿緺涓殑縐樼睄鏄繖鏍蜂竴縐嶄笢瑗匡細浣犲緱鍒板畠浠ュ悗錛屾渶濂借棌涔嬪悕灞憋紝鍋峰伔淇偧銆備竴鏃︽硠婕忥紝鍙細緇欎綘<br />甯︽潵鏉韜箣紲搞傚拰甯堝緬鎺堝彈鐨勯棶棰樼浉鍚岋紝榪欐牱鍙細璁╂渶濂界殑鎶鑹哄湪鍘嗗彶闀挎渤涓笎娓愭鞏鐏傜幇浠gぞ浼氬拰寮鏀?br />婧愪唬鐮佽繍鍔ㄥ垯鏄劇ず浜嗙浉鍙嶇殑鎯呭喌錛氱煡璇嗗彲浠ョ敱浠諱綍浜鴻幏鍙栦笌瀛︿範錛岃屼笉鍒嗛棬媧捐吹璐便備笌鍒漢鍒嗕韓<br />鐭ヨ瘑涔熶笉浼氱粰浣犲甫鏉ヤ換浣曞潖澶勩?/p> <p>姝︿緺鎴愪負闅愬柣甯︽潵鐨勬伓鏋滃氨鏄紝紼嬪簭鍛樹互鎴愪負鈥滈珮鎵嬧濅負鑽o紝浠ョ偒鑰鎶宸т負涔愶紱鏃犺椋庨櫓<br />澶ч噺閲囩敤涓浜涚湅涓婂幓姣旇緝鐐殑鏂版妧鏈紱鎰や笘瀚変織浠ヤ負澶╀笅鍙湁鑷繁鎬鎵嶆湭閬囷紱涓嶄細涓庝漢<br />娌熼氾紝緗旈【瀹㈡埛闇姹傦紝鎶婁笉鎳傛妧鏈殑鐢ㄦ埛褰撶櫧鐥達紱涓嶄細寮璇氬竷鍏紝鎬繪槸鑷繁鍋峰伔鐣欎竴鎵嬶紱<br />鍑℃縐嶇錛屼笉鑳借閮芥槸鍥犱負姝︿緺嫻佹瘨銆備絾鏄湪紼嬪簭鍛樹腑閫犳垚浜嗕笉濂界殑椋庢皵錛屾渚犵殑褰卞搷<br />鏄笉鍙拷瑙嗙殑銆?/p> <p>姝︿緺鏄垚騫翠漢鐨勭璇濓紝浣嗚蔣浠跺紑鍙戜笉鏄璇濄傝蔣浠跺紑鍙戣鐨勬槸鑴氳笍瀹炲湴錛岃屼笉鏄揩鎰忔仼浠囥?br />榪樺湪鍋氫緺瀹㈡ⅵ鐨勭▼搴忓憳錛屾効浣犱滑鏃╃偣閱掓潵銆?/p> <p>聽</p> <img src ="http://www.tkk7.com/treenode/aggbug/84856.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/treenode/" target="_blank">TreeNode</a> 2006-12-01 15:33 <a href="http://www.tkk7.com/treenode/archive/2006/12/01/84856.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍦⊿WT涓疄鐜拌嚜緇楥ombohttp://www.tkk7.com/treenode/archive/2006/07/06/56900.htmlTreeNodeTreeNodeThu, 06 Jul 2006 02:08:00 GMThttp://www.tkk7.com/treenode/archive/2006/07/06/56900.htmlhttp://www.tkk7.com/treenode/comments/56900.htmlhttp://www.tkk7.com/treenode/archive/2006/07/06/56900.html#Feedback4http://www.tkk7.com/treenode/comments/commentRss/56900.htmlhttp://www.tkk7.com/treenode/services/trackbacks/56900.html
涓婁竴嬈★紝鎴戝疄鐜頒簡涓涓嚜緇樼殑鎸夐挳銆傜幇鍦紝鐪嬪埌鏈変漢璇㈤棶鏄惁鍙互鍦–ombo鐨勫垪琛ㄤ腑鍔犲叆鍥懼儚銆傚叾瀹炶繖鐩稿綋瀹規槗錛屽彧瑕侀噸杞紺ombo Widget騫舵妸鑷粯鎺ュ彛鏆撮湶鍑烘潵鍗沖彲銆備互涓嬫槸綆鍗曠殑浠g爜紺轟緥錛?br />
package聽org.eclipse.swt.widgets;

import聽java.io.*;

import聽org.eclipse.swt.SWT;
import聽org.eclipse.swt.graphics.*;
import聽org.eclipse.swt.internal.win32.*;

publicclass聽CustomCombo聽extends聽Combo
{
聽聽聽聽
public聽CustomCombo(聽Composite聽parent,聽int聽style聽)
聽聽聽聽{
聽聽聽聽聽聽聽聽
super(聽parent,聽style聽);

聽聽聽聽聽聽聽聽
try
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽InputStream聽is聽
=聽getClass().getResourceAsStream(聽"bullet.gif"聽);
聽聽聽聽聽聽聽聽聽聽聽聽image聽
=new聽Image(聽getDisplay(),聽is聽);
聽聽聽聽聽聽聽聽聽聽聽聽is.close();
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
catch聽(聽IOException聽e聽)
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽e.printStackTrace();
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
finalint聽CB_SETITEMHEIGHT聽=0x0153;

聽聽聽聽聽聽聽聽OS.SendMessage(聽handle,聽CB_SETITEMHEIGHT,聽
0,聽24聽);
聽聽聽聽聽聽聽聽OS.SendMessage(聽handle,聽CB_SETITEMHEIGHT,聽
-1,聽24聽);
聽聽聽聽}

聽聽聽聽@Override
聽聽聽聽
int聽widgetStyle()
聽聽聽聽{
聽聽聽聽聽聽聽聽
finalint聽CBS_OWNERDRAWFIXED聽=0x0010;
聽聽聽聽聽聽聽聽
finalint聽CBS_HASSTRINGS聽=0x0200;
聽聽聽聽聽聽聽聽
//聽final聽int聽CBS_OWNERDRAWVARIABLE聽=聽0x0020;
聽聽聽聽聽聽聽聽returnsuper.widgetStyle()聽|聽CBS_OWNERDRAWFIXED聽|聽CBS_HASSTRINGS;
聽聽聽聽}

聽聽聽聽@Override
聽聽聽聽
protectedvoid聽checkSubclass()
聽聽聽聽{
聽聽聽聽}

聽聽聽聽@Override
聽聽聽聽
publicvoid聽dispose()
聽聽聽聽{
聽聽聽聽聽聽聽聽image.dispose();
聽聽聽聽聽聽聽聽
super.dispose();
聽聽聽聽}

聽聽聽聽
/*聽@Override
聽聽聽聽LRESULT聽wmMeasureChild(聽int聽wParam,聽int聽lParam聽)
聽聽聽聽{
聽聽聽聽聽聽聽聽MEASUREITEMSTRUCT聽mis聽=聽new聽MEASUREITEMSTRUCT();
聽聽聽聽聽聽聽聽OS.MoveMemory(聽mis,聽lParam,聽MEASUREITEMSTRUCT.sizeof聽);
聽聽聽聽聽聽聽聽mis.itemHeight聽=聽40;
聽聽聽聽聽聽聽聽OS.MoveMemory(聽lParam,聽mis,聽MEASUREITEMSTRUCT.sizeof聽);
聽聽聽聽聽聽聽聽return聽null;聽//聽super.wmMeasureChild(聽wParam,聽lParam聽);
聽聽聽聽}聽
*/

聽聽聽聽@Override
聽聽聽聽LRESULT聽wmDrawChild(聽
int聽wParam,聽int聽lParam聽)
聽聽聽聽{
聽聽聽聽聽聽聽聽DRAWITEMSTRUCT聽dis聽
=new聽DRAWITEMSTRUCT();
聽聽聽聽聽聽聽聽OS.MoveMemory(聽dis,聽lParam,聽DRAWITEMSTRUCT.sizeof聽);

聽聽聽聽聽聽聽聽GC聽gc聽
=new聽GC(聽new聽DCWrapper(聽dis.hDC聽)聽);
聽聽聽聽聽聽聽聽Rectangle聽rc聽
=new聽Rectangle(聽dis.left,聽dis.top,聽dis.right聽-聽dis.left,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽dis.bottom聽
-聽dis.top聽);
聽聽聽聽聽聽聽聽Display聽display聽
=聽getDisplay();
聽聽聽聽聽聽聽聽
if聽(聽(dis.itemState聽&聽OS.ODS_SELECTED)聽!=0聽)
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽gc
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽.setBackground(聽display
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽.getSystemColor(聽SWT.COLOR_LIST_SELECTION聽)聽);
聽聽聽聽聽聽聽聽聽聽聽聽gc.setForeground(聽display
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽.getSystemColor(聽SWT.COLOR_LIST_SELECTION_TEXT聽)聽);
聽聽聽聽聽聽聽聽聽聽聽聽gc.fillRectangle(聽rc聽);
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
else
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽gc.setBackground(聽display
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽.getSystemColor(聽SWT.COLOR_LIST_BACKGROUND聽)聽);
聽聽聽聽聽聽聽聽聽聽聽聽gc.setForeground(聽display
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽.getSystemColor(聽SWT.COLOR_LIST_FOREGROUND聽)聽);
聽聽聽聽聽聽聽聽聽聽聽聽gc.fillRectangle(聽rc聽);
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽String聽text聽
=聽getItem(聽dis.itemID聽);
聽聽聽聽聽聽聽聽gc.drawImage(聽image,聽dis.left聽
+1,聽dis.top聽+1聽);
聽聽聽聽聽聽聽聽gc.drawText(聽text,聽dis.left聽
+20,聽dis.top聽);

聽聽聽聽聽聽聽聽gc.dispose();

聽聽聽聽聽聽聽聽
returnnull;
聽聽聽聽}

聽聽聽聽
privatestaticclass聽DCWrapper聽implements聽Drawable
聽聽聽聽{
聽聽聽聽聽聽聽聽
privateint聽聽聽聽hdc;

聽聽聽聽聽聽聽聽DCWrapper(聽
int聽hdc聽)
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽
this.hdc聽=聽hdc;
聽聽聽聽聽聽聽聽}

聽聽聽聽聽聽聽聽
publicint聽internal_new_GC(聽GCData聽data聽)
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽
return聽hdc;
聽聽聽聽聽聽聽聽}

聽聽聽聽聽聽聽聽
publicvoid聽internal_dispose_GC(聽int聽handle,聽GCData聽data聽)
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽}
聽聽聽聽}

聽聽聽聽
private聽Image聽聽聽聽image;
}


鍊煎緱璇存槑鐨勬槸錛屽鏋滆緗瓹ombo涓篛wnerDraw Variable椋庢牸錛屽垯蹇呴』閲嶈澆wmMeasureChild鏂規硶鏉ユ寚瀹氭瘡涓欏圭殑楂樺害銆傚鏋滀嬌鐢∣wnerDraw Fixed椋庢牸錛屽垯鍙渶瑕佸湪鏋勯犵殑鏃跺欏彂閫佷竴鏉B_SETITEMHEIGHT娑堟伅灝辮浜嗐?br />

聽鍙﹀涓縐嶅煎緱鑰冭檻鐨勯夋嫨鏄皢Win32鐨凜omboBoxEx鎺т歡鍖呰鎴怱WT Widget銆備笉榪囷紝榪欓渶瑕佽漿鎹㈣嫢騫茬粨鏋勫茍鎻愪緵鎺ュ彛錛學in32鐨処mageList綆$悊鏈哄埗鍜孲WT鐨処mage鍖呰鏂規硶宸埆姣旇緝澶э紝浣垮緱榪欑鏂規硶瀹炵幇璧鋒潵楹葷儲鐨勫銆?br />



TreeNode 2006-07-06 10:08 鍙戣〃璇勮
]]>
鐢╟glib浠g爜鐢熸垚閬垮紑鐑︿漢鐨勫唴閮ㄧ被http://www.tkk7.com/treenode/archive/2006/06/27/55289.htmlTreeNodeTreeNodeTue, 27 Jun 2006 03:29:00 GMThttp://www.tkk7.com/treenode/archive/2006/06/27/55289.htmlhttp://www.tkk7.com/treenode/comments/55289.htmlhttp://www.tkk7.com/treenode/archive/2006/06/27/55289.html#Feedback0http://www.tkk7.com/treenode/comments/commentRss/55289.htmlhttp://www.tkk7.com/treenode/services/trackbacks/55289.html鍦ㄤ笂鍥炵殑blog涓紝鎴戞姳鎬ㄨ繃鐢↗ava鐢ㄥ唴閮ㄧ被鏉ュ疄鐜頒簨浠跺洖璋冪殑鏈哄埗鏄涔堥毦鐪嬪拰楹葷儲銆傚湪榪欐鏃墮棿閲岋紝鎴戜竴鐩村湪鑰冭檻鏄惁鏈変粈涔堟柟娉曞彲浠ヤ笉鐢ㄥ唴閮ㄧ被鑰屽疄鐜板悓鏍風殑鏁堟灉銆傚洜涓篔ava璇█鏈韓鐨勯檺鍒訛紝鎵浠ュ父瑙勬柟娉曟槸琛屼笉閫氱殑銆傛湁浜哄緩璁敤鍙嶅皠鈥斺旂殑紜氳繃鍙嶅皠鍙互璋冪敤浠繪剰鐨勬柟娉曪紝浣嗘槸鍙嶅皠鏁堢巼涓嶄匠錛屽棰戠箒鍙戠敓鐨勪簨浠舵垨璁鎬笉澶悎閫傘傚姩鎬佷唬鐞嗕篃涓嶈兘瑙e喅鏂規硶鏄犲皠鐨勯毦棰樸傛垜浼間箮璧拌繘浜嗘鑳″悓銆?/p>

鏃㈢劧姝よ礬涓嶉氾紝閭d箞C#鏄浣曞疄鐜癲elegate鐨勫憿錛熻繃鍘諱篃鏇懼惉闂昏繃涓浜涘唴騫曪紝涓嶈繃榪欐琚兼墠鐪熺殑涓嬪喅蹇冭鐪熷幓鐪嬭繖鏂歸潰鐨勪笢瑗褲傚師鏉$浣跨敤鐨勬槸浠g爜鐢熸垚鐨勬妧鏈細瀵逛簬姣忎釜delegate錛孋#閮戒細涓哄畠鐢熸垚涓涓淳鐢熶簬MulticaseDelegate鐨勫璞★紝鍏朵腑瀹炵幇浜嗕竴涓拰delegate絳懼悕鐩稿悓鐨勬柟娉曘傚悓鏃訛紝瀵筪elegate鐨勬搷浣滅+=鍜?=涔熶細琚紪璇戝櫒澶勭悊鎴愬MulticaseDelegate鏂規硶鐨勮皟鐢ㄣ?/p>

鐭ラ亾浜嗚繖涓鐐癸紝鎺ヤ笅鏉ュ氨闇瑕佺湅鐪婮ava涓湁娌℃湁綾諱技鐨勪唬鐮佺敓鎴愭妧鏈簡銆傛湁鎰忔濈殑鏄紝鏌ユ壘鐨勬椂鍊欏彂鐜版湁娑堟伅璇達紝Java 6.0錛圡utang錛変腑灝嗕細鎻愪緵鍔ㄦ佷唬鐮佺敓鎴愮殑鍔熻兘銆傝繖鐨勭‘寰堝惛寮曚漢錛屼笉榪嘕ava6榪樺湪Beta闃舵錛岀溂涓嬭繕鎸囨湜涓嶄笂銆傚叾浠栨瘮杈冨嚭鍚嶇殑鏂規硶灝辨槸Apache becl鍜孫bjectweb ASM浜嗐傝繖涓や釜搴撻兘姣旇緝搴曞眰錛屼笉榪囪繕鏈変竴涓紑婧愮殑欏圭洰鈥斺攃glib鈥斺斿畠鍦ㄥ唴閮ㄤ嬌鐢ㄤ簡asm錛屼笉榪囨彁渚涗簡杈冨鐨勫疄鐢ㄥ姛鑳姐傛嵁璇碒ibernate鍜孲pring閮界敤鍒頒簡榪欎釜涓滆タ銆傜爺絀惰繖涓簱鐨勬椂鍊欙紝鎴戜竴鐪肩湅鍒頒簡MethodDelegate綾燴斺斿緢鏄庢樉榪欏氨鏄垜瑕佹壘鐨勪笢瑗夸簡銆?/p>

MethodDelegate鐨勮璁℃濇兂寰堢被浼間簬C#鐨刣elegate鈥斺斿皢鎺ュ彛璋冪敤杞彂緇欑被鐨勪竴涓垚鍛樺嚱鏁般備笉榪囬槄璇繪枃妗g殑鏃跺欐垜鍙戠幇涓涓棶棰樸侻ethodDelegate瑕佹眰鍏舵墍瀹炵幇鐨勬帴鍙e繀欏誨彧鏈変竴涓叕鍏辨柟娉曪紝浣嗘槸SWT涓殑璁稿浜嬩歡鎺ュ彛閮芥湁涓嶆涓涓柟娉曪紱姣斿錛孲electionListener灝辨湁widgetSelected鍜宨dgetDefaultSelected涓や釜鏂規硶銆傚洜姝よ鍦⊿WT涓嬌鐢∕ethodDelegate錛岃繕

蹇呴』鍐嶅瀹炵幇鍙﹀涓灞傝漿鍙戙?/p>

浜嗚В鎵嬫錛屾帴涓嬫潵鐨勪簨鎯呭氨涓嶉毦浜嗐傛葷粨璧鋒潵錛岄渶瑕佺殑姝ラ澶ц嚧濡備笅錛?br />1銆佷負姣忕闇瑕佸疄鐜扮殑浜嬩歡澹版槑涓涓帴鍙c傝繖鏄疢ethodDelegate鐨勮姹傘?br />2銆佺敤涓涓被瀹炵幇SWT鐨勪簨浠舵帴鍙o紝騫跺皢鐗瑰畾鐨勬帴鍙h皟鐢ㄨ漿鍙戝埌絎竴姝ユ墍瀹炵幇

鐨勬帴鍙c?br />3銆佺敤MethodDelegate鎻愪緵鐨勬柟娉曪紝澹版槑浜嬩歡澶勭悊瀵硅薄錛圗vent Handler

Target錛岄氬父涓轟富紿椾綋鎴栦富閮ㄤ歡錛夎瀹炵幇涓婅堪鐨勪簨浠舵帴鍙c備笅闈㈠氨鏉ュ疄鐜頒竴涓嬨備負浜嗙畝鍗曡搗瑙侊紝灝嗛渶瑕佸疄鐜扮殑鎺ュ彛澹版槑涓轟簨浠惰漿鍙戠被鐨勫唴閮ㄦ帴鍙o紝浠ラ伩鍏嶇淮鎶ゅお澶氭帴鍙f枃浠訛紙鍥犱負璇ユ帴鍙e彧闇瑕佸0鏄庝竴涓柟娉曪紝鎵浠ヤ笉浼氭妸澶栭儴綾繪悶寰楀お榪囧鏉傘傦級渚嬪錛屽鐞嗛儴浠墮夋嫨浜嬩歡錛坵idgetSelected錛夌殑綾誨彲浠ュ涓嬪疄鐜幫細

package org.yuhao.swt.events;

import net.sf.cglib.reflect.MethodDelegate;

import org.eclipse.swt.events.*;

public class WidgetSelectedHandler implements SelectionListener
{
聽public WidgetSelectedHandler( Object target, String

methodName )
聽{
聽聽delegate = (IWidgetSelectedDelegate)

MethodDelegate.create( target,
聽聽聽聽methodName,

IWidgetSelectedDelegate.class );
聽}

聽public void widgetDefaultSelected( SelectionEvent e )
聽{
聽}

聽public void widgetSelected( SelectionEvent e )
聽{
聽聽delegate.invoke( e );
聽}

聽public void invoke( SelectionEvent e )
聽{
聽}

聽public interface IWidgetSelectedDelegate
聽{
聽聽void invoke( SelectionEvent e );
聽}

聽private IWidgetSelectedDelegate delegate;
}

榪欎釜鎺ュ彛铏界劧鍙湁澶栭儴綾葷敤鍒幫紝浣嗘槸蹇呴』澹版槑涓簆ublic鐨勶紝鍚﹀垯榪愯浼氬嚭閿欙紙鎴戞兂澶ф鏄洜涓轟唬鐮佺敓鎴愪互鍚庤繕鏄閮ㄧ被錛岄渶瑕佸叕寮璁塊棶鏉冮檺錛夈備負浜嗙畝鍖栬皟鐢紝鍐嶅0鏄庝竴涓鐞嗕簨浠剁殑杈呭姪綾籈ventHandler錛屼笓闂ㄧ鐞嗗皢鍚勭浜嬩歡杞彂鍒扮浉搴旂殑Handler鐨勫伐浣滐細

public class EventHandler
{
聽public EventHandler( Object target )
聽{
聽聽this.target = target;
聽}

聽public void handleSelected( Button btn, String methodName )
聽{
聽聽btn.addSelectionListener( new

WidgetSelectedHandler( target, methodName ) );
聽}
聽private Object target;
}

榪欐牱錛屽湪紿楀彛涓氨鍙互綆鍗曠殑濡備笅澶勭悊浜嬩歡錛?br />public MainShell extends Shell()
{
聽聽public MainShell( Display display )
聽{
聽聽......
聽聽handler = new EventHandler( this );
聽聽handler.handleSelected( btn, "btn_clicked" );
聽}

聽public void btn_clicked( SelectionEvent e )
聽{
聽聽...
聽}
}

榪欓噷榪橀渶瑕佹敞鎰忥細1銆佷換浣曚簨浠跺鐞嗘柟娉曞繀欏誨0鏄庝負public鐨勩傝繖鏍蜂技涔庢湁榪濋潰鍚戝璞$殑灝佽鍘熷垯錛屼笉榪囧疄闄呬笂騫朵笉浼氶犳垚浠涔堝ぇ闂銆?銆佷簨浠舵柟娉曠殑絳懼悕蹇呴』鍜屽搴旂殑浜嬩歡鏂規硶鐩稿悓銆備緥濡傦紝widgetSelected鏂規硶鏈変竴涓猄electionEvent鍙傛暟錛岄偅涔堝鐞嗚浜嬩歡鐨刡tn_clicked鏂規硶涔熷繀欏繪湁涓斿彧鏈夎繖涓涓弬鏁般傚鏋滃啓閿欎簡錛岄偅涔堣繍琛岀殑鏃跺欎細鎶涘嚭寮傚父錛岃鎵句笉鍒版寚瀹氱殑鏂規硶銆傝繖榪樻槸闇瑕佺▼搴忓憳鐨勭粏蹇冩潵淇濊瘉銆傝繕綆楀垢榪愮殑鏄嚭閿欑殑鎻愮ず闈炲父鏄庢樉錛屼笉蹇呮媴蹇冧嬌鐢ㄤ簡榪囧害澶嶆潅鐨勬妧鏈屾壘涓嶅埌鐪熸鐨勫嚭閿欑偣銆?br />



TreeNode 2006-06-27 11:29 鍙戣〃璇勮
]]>
鍐呴儴綾昏鎴戝帉鎭禞avahttp://www.tkk7.com/treenode/archive/2006/06/15/53098.htmlTreeNodeTreeNodeThu, 15 Jun 2006 14:37:00 GMThttp://www.tkk7.com/treenode/archive/2006/06/15/53098.htmlhttp://www.tkk7.com/treenode/comments/53098.htmlhttp://www.tkk7.com/treenode/archive/2006/06/15/53098.html#Feedback31http://www.tkk7.com/treenode/comments/commentRss/53098.htmlhttp://www.tkk7.com/treenode/services/trackbacks/53098.html
聽聽聽聽聽聽聽聽b.addSelectionListener(聽new聽SelectionAdapter()
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽
publicvoid聽widgetSelected(聽SelectionEvent聽e聽)
聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Runnable聽longJob聽
=new聽Runnable()
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
boolean聽聽聽聽done聽聽聽聽=false;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
int聽聽聽聽聽聽聽聽id;

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
publicvoid聽run()
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Thread聽thread聽
=new聽Thread(聽new聽Runnable()
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
publicvoid聽run()
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽id聽
=聽nextId[0]++;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽display.syncExec(聽
new聽Runnable()
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
publicvoid聽run()
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(聽text.isDisposed()聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽text
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽.append(聽
"\nStart聽long聽running聽task聽"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
+聽id聽);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for聽(聽int聽i聽=0;聽i聽<100000;聽i++聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(聽display.isDisposed()聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽System.out
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽.println(聽
"do聽task聽that聽takes聽a聽long聽time聽in聽a聽separate聽thread聽"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
+聽id聽);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(聽display.isDisposed()聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽display.syncExec(聽
new聽Runnable()
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
publicvoid聽run()
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(聽text.isDisposed()聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽text
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽.append(聽
"\nCompleted聽long聽running聽task聽"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
+聽id聽);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽done聽
=true;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽display.wake();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽thread.start();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
while聽(聽!done聽&&!shell.isDisposed()聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(聽!display.readAndDispatch()聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽display.sleep();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽};
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽BusyIndicator.showWhile(聽display,聽longJob聽);
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽}聽);
鍙﹀涓縐嶏細
聽聽聽聽聽聽聽聽delegatevoid聽NotifyStartDelegate(聽int聽threadId聽);
聽聽聽聽聽聽聽聽
delegatevoid聽NotifyFinishDelegate(聽int聽threadId聽);
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽btnInvoke.Click聽
+=聽BtnInvokeClick;
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽
void聽BtnInvokeClick(object聽sender,聽System.EventArgs聽e)
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽text.Text聽
="invoke聽long聽running聽job";
聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽Cursor聽
=聽Cursors.WaitCursor;
聽聽聽聽聽聽聽聽聽聽聽聽Thread聽thread聽
=new聽Thread(聽new聽ThreadStart(ThreadProc)聽);
聽聽聽聽聽聽聽聽聽聽聽聽thread.Start();
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽
privatevoid聽ThreadProc()
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽
int聽threadId聽=聽nextId聽++;
聽聽聽聽聽聽聽聽聽聽聽聽
bool聽done聽=false;
聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽
if聽(聽IsDisposed聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return;
聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽Invoke(聽
new聽NotifyStartDelegate(notifyThreadStart),聽newobject[]聽{聽threadId聽}聽);
聽聽聽聽聽聽聽聽聽聽聽聽
for聽(聽int聽i=0;聽i<100000;聽i++聽)
聽聽聽聽聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if聽(聽IsDisposed聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Console.WriteLine(聽
"do聽task聽that聽takes聽a聽long聽time聽in聽a聽separate聽thread聽"+聽threadId聽);
聽聽聽聽聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽
if聽(聽IsDisposed聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
return;
聽聽聽聽聽聽聽聽聽聽聽聽Invoke(聽
new聽NotifyFinishDelegate(notifyThreadFinish),聽newobject[]聽{聽threadId聽}聽);
聽聽聽聽聽聽聽聽聽聽聽聽done聽
=true;
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽
privatevoid聽notifyThreadStart(聽int聽threadId聽)
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽text.Text聽
+="\r\nStart聽long聽task聽"+聽threadId;
聽聽聽聽聽聽聽聽聽聽聽聽threadCount聽
++;
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽
privatevoid聽notifyThreadFinish(聽int聽threadId聽)
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽text.Text聽
+="\r\nCompleted聽long聽running聽task聽"+聽threadId;聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽threadCount聽
--;
聽聽聽聽聽聽聽聽聽聽聽聽
if聽(聽threadCount聽==0聽)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽Cursor聽
=聽Cursors.Default;
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽
privateint聽nextId聽=0;
聽聽聽聽聽聽聽聽
privateint聽threadCount聽=0;

鎴戝湪鍙︿竴涓湴鏂逛篃鎶辨ㄨ繃錛氬湪鎵鏈夋垜浜嗚В鐨勮璦鐗規ч噷闈紝娌℃湁涓縐嶅儚Java鍐呴儴綾諱竴鏍瘋鎴戣寰楀弽鎰熲斺旂敋鑷沖埌浜嗘伓蹇冪殑鍦版銆傚ぇ澶氫綔B/S緋葷粺鐨凧ava紼? 搴忓憳鍙兘涓嶄細鏈夎繖鏍風殑鎰熻錛屽洜涓洪偅涓鍩熷熀鏈笂寰堝皯浼氱敤鍒拌繖涓蹇點傚彲鏄湪C/S錛屼笉綆$敤Swing榪樻槸SWT錛屽唴閮ㄧ被閮芥槸緇曚笉榪囧幓鐨勪竴搴уぇ灞便傚湪闃呰Eclipse绔欑偣涓婅澶氫唬鐮佺ず渚嬩互鍚庯紝鎴戠粓浜庢湁浜嗙棝鑻﹀埌鈥斺斾竴鐐逛篃涓嶅じ寮犫斺旀兂瑕佷綔鍛曠殑鍦版銆備笂闈㈢涓孌典唬鐮佸氨鏄鎴戞劅鍒扮獫蹇冪殑浠g爜涔嬩竴錛堜粎浠呮槸鍏朵腑涔嬩竴錛岃繕涓嶆槸鏈涓戦檵鐨勶級銆傛垜鎯籌紝Java 璇█鐨勫彂鏄庤呭ぇ姒備粠鏉ュ氨娌″啓榪囨闈㈢▼搴忥紱浠栨牴鏈篃涓嶆墦綆椾負榪欎釜棰嗗煙鐨勭▼搴忓憳鎻愪緵涓縐嶆瘮杈冨ソ鐨勪簨浠跺洖璋冩満鍒躲?br />
鍐呴儴綾繪湁浠涔堥棶棰樺憿錛熼鍏堬紝浣犳効鎰忓湪鍘葷湅浠g爜閫昏緫涔嬪墠錛屽厛鑺變笂濂藉嚑鍒嗛挓鍘繪悶娓呮鈥滆繖涓嫭鍙峰埌搴曟槸鍜屽摢涓厤瀵光濊繖縐嶈牏闂鍚楋紵浣犱笉濡ㄥ洖澶寸湅鐪嬬涓孌電殑浠g爜錛屾兂鎯寵繖孌靛叾瀹炵浉褰撶畝鍗曠殑紼嬪簭錛屾槸涓嶆槸鐪熺殑鍊煎緱鐢ㄨ繖涔堝鎷彿鍘昏冮獙浣犵殑鏅哄姏銆?br />
鍐呴儴綾繪槸瀵瑰皝瑁呯殑涓ラ噸鐮村潖銆傚畠瀵瑰閮ㄧ被鐨勪換浣曠鏈夊彉閲忛兘鏈夊畬鍏ㄧ殑璁塊棶鏉冮檺鈥斺斿鏋滀綘紿佺劧鍙戠幇鏌愪釜鍙橀噺鐨勫唴瀹逛笉瀵瑰姴浜嗭紝浣犱笉鑳戒粎浠呭湪setXXX閲岄潰鍔犱釜鏂? 鐐瑰氨鎸囨湜鑳芥崟鑾峰埌閿欒錛涚湡姝g殑鍏冨嚩鍙兘鏄唴閮ㄧ被閲岄潰鐨勫摢涓鍙ュ憿銆傚鏋滃唴閮ㄧ被閮介潪甯哥畝鍗曪紝閭e掍篃娌′粈涔堛傚彲鏄綋鍐呴儴綾葷敤鏉ュ疄鐜頒簨浠剁殑鏃跺欙紝浣犲氨娌℃硶鎸囨湜瀹冧竴 鐩撮偅涔堢畝鍗曚簡銆?br />
鍐呴儴綾繪槸嫻嬭瘯鐨勭洸鍖恒俆DD鎬繪槸璇達紝瑕佹祴璇曪紝嫻嬭瘯錛屾墍鏈夊寘鍚昏緫鐨勭被閮藉簲褰撻氳繃鍏呭垎鐨勬祴璇曘傚彲鏄唴閮ㄧ被鎬庝箞嫻嬭瘯錛熷彧瑕佹兂鎯沖氨鑳界煡閬擄紝澶у鏁板唴閮ㄧ被鏄牴鏈病娉曟祴璇曠殑錛屽畠鍜屽閮ㄧ被瀹炲湪鏄﹀悎鐨勫お绱у瘑浜嗐傚尶鍚嶅唴閮ㄧ被鐨勯棶棰樻洿涓ラ噸鈥斺斿畠鏄粷瀵規棤娉曟祴璇曠殑銆備綘鎬庝箞嫻嬭瘯涓涓繛鍚嶅瓧閮芥病鏈夌殑鏂規硶錛?br />
涓嶇鏈夋剰鏃犳剰錛屽唴閮ㄧ被鍦紙鑷沖皯鎴戠湅鍒扮殑錛夊疄璺典腑浜嬪疄涓婇紦鍔變簡涓嶅ソ鐨勭紪紼嬮鏍箋傚氨鏄錛屽畠榪濊儗浜咲RY錛圖on't Repeat Yourself錛夌殑鍘熷垯銆傛瘮濡傦紝button.addSelectionListener鍚庨潰鍑犱箮鎬繪槸璺熺潃SelectionAdapter+鎷彿+ widgetSelected鍘熷瀷鍐?涓鍫嗘嫭鍙鳳紱Display.asyncExec鍚庨潰鎬繪槸瑕佸啓涓妌ew Runnble()錛寁oid run錛堬級錛屾嫭鍙鳳紝絳夌瓑銆傚崈綃囦竴寰嬬殑涓滆タ錛屽彲鏄張涓嶅緱涓嶅啓銆傝屼笖錛屽嚑涔庢病鏈変粈涔堝ソ鐨勫姙娉曞彲浠ユ敼榪涳紒鍥犱負璇硶鐨勮鍒欒姹備綘蹇呴』榪欐牱鍋氥傛瘡澶╁啓榪欎簺鏃犺亰鐨勪笢 瑗匡紝浣犵殑璇濅細涓嶄細鐑︼紵鍝︼紝宸ュ叿鏄湁鐨勩傚彲鏄伐鍏峰彧璐熻矗鐢熸垚浠g爜錛屼互鍚庣殑緇存姢榪樻槸瑕佷綘鏉ュ仛鈥斺斾笉鏄箞錛?br />

TreeNode 2006-06-15 22:37 鍙戣〃璇勮
]]>
SWT: 娣卞叆鍐呭箷涔嬫秷鎭満鍒舵帰縐橈紙涓婄瘒錛?/title><link>http://www.tkk7.com/treenode/archive/2006/06/03/50114.html</link><dc:creator>TreeNode</dc:creator><author>TreeNode</author><pubDate>Sat, 03 Jun 2006 04:46:00 GMT</pubDate><guid>http://www.tkk7.com/treenode/archive/2006/06/03/50114.html</guid><wfw:comment>http://www.tkk7.com/treenode/comments/50114.html</wfw:comment><comments>http://www.tkk7.com/treenode/archive/2006/06/03/50114.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.tkk7.com/treenode/comments/commentRss/50114.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/treenode/services/trackbacks/50114.html</trackback:ping><description><![CDATA[     鎽樿: 鏈枃璇曞浘閫忚繃SWT闈㈠悜瀵硅薄鐨勫皝瑁咃紝娣卞叆鐮旂┒鐣岄潰妗嗘灦鐨勬瀯閫犱腑鏈澶嶆潅涔熷彲浠ヨ鏄渶鏈夎叮鐨勯棶棰樹箣涓鈥斺斿嵆鐣岄潰妗嗘灦濡備綍浠ラ潰鍚戝璞$殑鏂瑰紡瀹炵幇鎿嶄綔緋葷粺搴曞眰鐨勬秷鎭満鍒躲?nbsp; <a href='http://www.tkk7.com/treenode/archive/2006/06/03/50114.html'>闃呰鍏ㄦ枃</a><img src ="http://www.tkk7.com/treenode/aggbug/50114.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/treenode/" target="_blank">TreeNode</a> 2006-06-03 12:46 <a href="http://www.tkk7.com/treenode/archive/2006/06/03/50114.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://xyjxnhcl.com" target="_blank">亚洲国产精品嫩草影院久久</a>| <a href="http://jxxitutu.com" target="_blank">一本久久综合亚洲鲁鲁五月天</a>| <a href="http://zz1965.com" target="_blank">亚洲av无码乱码国产精品</a>| <a href="http://aiwoqi.com" target="_blank">一级毛片a女人刺激视频免费</a>| <a href="http://xjkakatong.com" target="_blank">国产精品麻豆免费版</a>| <a href="http://nb46.com" target="_blank">国产亚洲人成在线影院</a>| <a href="http://wwwbu610.com" target="_blank">国产亚洲福利一区二区免费看</a>| <a href="http://jinguwj.com" target="_blank">亚洲AV无码专区亚洲AV桃</a>| <a href="http://ssdtsz.com" target="_blank">免费国产人做人视频在线观看</a>| <a href="http://7766ks.com" target="_blank">美女视频黄频a免费大全视频</a>| <a href="http://01shanzhai.com" target="_blank">国产成人在线观看免费网站</a>| <a href="http://aicbbs.com" target="_blank">免费很黄无遮挡的视频毛片</a>| <a href="http://rushiruhua.com" target="_blank">亚洲男人的天堂一区二区</a>| <a href="http://199044.com" target="_blank">成人免费乱码大片A毛片</a>| <a href="http://fl6fe.com" target="_blank">久久亚洲美女精品国产精品</a>| <a href="http://www3ratcom.com" target="_blank">国产成人免费在线</a>| <a href="http://cqkalai.com" target="_blank">亚洲av无码专区在线</a>| <a href="http://av-fantasy.com" target="_blank">日韩特黄特色大片免费视频</a>| <a href="http://www-3499.com" target="_blank">国产精品亚洲一区二区在线观看</a>| <a href="http://2030188.com" target="_blank">日批日出水久久亚洲精品tv</a>| <a href="http://fsrongxing.com" target="_blank">国产精品免费观看视频</a>| <a href="http://xingqiu1.com" target="_blank">久久亚洲精品成人777大小说</a>| <a href="http://65123456.com" target="_blank">亚洲网站在线免费观看</a>| <a href="http://yakonet.com" target="_blank">亚洲AV日韩综合一区</a>| <a href="http://qvod-player.com" target="_blank">久久精品亚洲男人的天堂</a>| <a href="http://35633487.com" target="_blank">无码人妻AV免费一区二区三区</a>| <a href="http://yaku100.com" target="_blank">亚洲av永久无码精品天堂久久 </a>| <a href="http://246210.com" target="_blank">在线观看免费高清视频</a>| <a href="http://5916733.com" target="_blank">久久水蜜桃亚洲AV无码精品</a>| <a href="http://www398ph.com" target="_blank">亚洲熟伦熟女新五十路熟妇 </a>| <a href="http://w7768.com" target="_blank">国产线视频精品免费观看视频</a>| <a href="http://xian66.com" target="_blank">亚洲国产精品婷婷久久</a>| <a href="http://www-44334.com" target="_blank">性色av无码免费一区二区三区</a>| <a href="http://cc006.com" target="_blank">免费激情网站国产高清第一页</a>| <a href="http://323799.com" target="_blank">亚洲国产精品国自产拍电影</a>| <a href="http://9v9av.com" target="_blank">成人免费无码大片A毛片抽搐色欲</a>| <a href="http://jl910.com" target="_blank">a一级爱做片免费</a>| <a href="http://adcadm.com" target="_blank">亚洲人成网网址在线看</a>| <a href="http://daohang123456.com" target="_blank">一本色道久久88综合亚洲精品高清</a>| <a href="http://9797ww.com" target="_blank">国产三级在线免费</a>| <a href="http://xdxdl.com" target="_blank">亚洲美国产亚洲AV</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>