锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品亚洲综合一品,亚洲一区精彩视频,亚洲精品无码mⅴ在线观看http://m.tkk7.com/keweibo/category/36491.html涓涓? Java 澶氳兘 Delphi,Powerbuilder ... zh-cnSat, 09 Jun 2012 02:16:38 GMTSat, 09 Jun 2012 02:16:38 GMT60閫氳繃RCP鍒涘緩鐨剉iew錛屾庢牱鐩存帴鏄劇ず鍑烘潵http://m.tkk7.com/keweibo/articles/380322.htmlKeKeFri, 08 Jun 2012 03:25:00 GMThttp://m.tkk7.com/keweibo/articles/380322.htmlhttp://m.tkk7.com/keweibo/comments/380322.htmlhttp://m.tkk7.com/keweibo/articles/380322.html#Feedback0http://m.tkk7.com/keweibo/comments/commentRss/380322.htmlhttp://m.tkk7.com/keweibo/services/trackbacks/380322.html
瑙e喅鏂規硶:

鍘熸潵鏄緗簡榪欎釜瀵艱嚧鐨?/p>

configurer.setSaveAndRestore(true);
浠g爜濡備笅:

package com.act.mac.upload.intro;

import org.eclipse.ui.application.IWorkbenchConfigurer;
import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
import org.eclipse.ui.application.WorkbenchAdvisor;
import org.eclipse.ui.application.WorkbenchWindowAdvisor;

public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {

private static final String PERSPECTIVE_ID = "com.act.mac.upload.perspective";

    public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
        return new ApplicationWorkbenchWindowAdvisor(configurer);
    }
    
    public void initialize(IWorkbenchConfigurer configurer) {
        super.initialize(configurer);
        //configurer.setSaveAndRestore(true);//娉ㄩ噴鎺夊氨OK浜?/span>
    }

public String getInitialWindowPerspectiveId() {
return PERSPECTIVE_ID;
}
}



Ke 2012-06-08 11:25 鍙戣〃璇勮
]]>
RCP寮鍙?--Log4j閰嶇疆http://m.tkk7.com/keweibo/articles/376986.htmlKeKeSat, 28 Apr 2012 09:56:00 GMThttp://m.tkk7.com/keweibo/articles/376986.htmlhttp://m.tkk7.com/keweibo/comments/376986.htmlhttp://m.tkk7.com/keweibo/articles/376986.html#Feedback0http://m.tkk7.com/keweibo/comments/commentRss/376986.htmlhttp://m.tkk7.com/keweibo/services/trackbacks/376986.html
榪愯鎺у埗鍙版墦鍗?(鍙湪鎺у埗鍙頒笂錛屼笉鍦?log鏂囦歡涓?
log4j:WARN No appenders could be found for logger (myrcp.OpenViewAction).
log4j:WARN Please initialize the log4j system properly.
榪欐槸鍥犱負娌℃湁娣誨姞Log4j鐨勯厤緗俊鎭?/div>
鍦ㄥ惎鍔≧CP鐨勬彃浠朵腑鐨剆tart鏂規硶閲岋細
    public void start(BundleContext context) throws Exception {
        super.start(context);
        plugin = this;       
        Properties prop = new Properties();
        try {
            prop.load(Activator.class.getResourceAsStream("log4j.properties")); //$NON-NLS-1$
        } catch (IOException e) {
            // e.printStackTrace();
        }
        PropertyConfigurator.configure(prop);
    }
鍦╩yrcp.Activator鍚岀駭鐩綍涓嬫坊鍔爈og4j.properties錛?nbsp;


Ke 2012-04-28 17:56 鍙戣〃璇勮
]]>
SWT鐨凷HELL鏍峰紡http://m.tkk7.com/keweibo/articles/326316.htmlKeKeFri, 16 Jul 2010 07:26:00 GMThttp://m.tkk7.com/keweibo/articles/326316.htmlhttp://m.tkk7.com/keweibo/comments/326316.htmlhttp://m.tkk7.com/keweibo/articles/326316.html#Feedback0http://m.tkk7.com/keweibo/comments/commentRss/326316.htmlhttp://m.tkk7.com/keweibo/services/trackbacks/326316.html




Shell   dlgShell   =   new    Shell(parent,    SWT.DIALOG_TRIM   |    SWT.APPLICATION_MODAL);   
   鎵璋撴ā鎬佸璇濇錛屽氨鏄寚闄ら潪閲囧彇鏈夋晥鐨勫叧闂墜孌碉紝鐢ㄦ埛鐨勯紶鏍囩劍鐐規垨鑰呰緭鍏ュ厜鏍囧皢涓鐩村仠鐣欏湪鍏朵笂鐨勫璇濇銆傞潪妯℃佸璇濇鍒欎笉浼氬己鍒舵縐嶇壒鎬э紝鐢ㄦ埛鍙互鍦ㄥ綋鍓? 瀵硅瘽妗嗕互鍙婂叾浠栫獥鍙i棿榪涜鍒囨崲銆?/font>

setShellStyle(榪欓噷鍙互浠繪剰璁劇疆鏍峰紡);鑳藉璁? 緗殑鏍峰紡濡備笅錛氾紙浠ヤ笅灞炴у彲浠ュ閫夛紝浣嗘槸鏌愪簺灞炴х浉鍐茬獊鏃朵細瀵艱嚧璁劇疆鐨勫叾浠栧睘鎬уけ鏁堬級
SWT.BORDER //寤虹珛涓涓湁杈規浣嗘病鏈夋爣棰樻爮鐨勭獥鍙?/span>
SWT.CLOSE //寤虹珛涓涓彧鏈夊叧闂寜閽殑紿楀彛
SWT.MIN  //寤虹珛涓涓笉鑳芥渶澶у寲鐨勭獥鍙?/span>
SWT.MAX, //寤虹珛涓涓彲浠ユ渶澶у寲鏈灝忓寲鐨勭獥鍙?/span>
SWT.NO_TRIM //寤虹珛涓涓病鏈変換浣曡竟鐣屽拰鏍囬鏍忕殑紿楀彛
SWT.RESIZE //寤虹珛涓涓彲浠ユ敼鍙樺ぇ灝忕殑紿楀彛
SWT.TITLE //寤虹珛涓涓病鏈夋爣棰樻爮鍥炬爣錛屾病鏈夊叧闂寜閽殑紿楀彛
SWT.ON_TOP //寤虹珛涓涓繪槸鍦ㄤ笂鐨勭獥鍙o紝娉ㄦ剰錛氭灞炴ф渶濂戒笌CLOSE銆丮IN銆丮AX涓璧蜂嬌鐢ㄣ?/span>
SWT.TOOL  //寤虹珛涓涓被浼煎伐鍏鋒爮鐨勭獥鍙?/span>
SWT.APPLICATION_MODAL //寤虹珛涓涓狝PPLICATION妯℃佺獥鍙?/span>
SWT.MODELESS //寤虹珛涓涓潪妯℃佺獥鍙?/span>
SWT.PRIMARY_MODAL //寤虹珛涓涓狿RIMARY妯℃佺獥鍙?/span>
SWT.SYSTEM_MODAL  //寤虹珛涓涓猄YSTEM妯℃佺獥鍙?/span>
     榪樻湁涓や釜蹇嵎灞炴ф潵寤虹珛紿楀彛
SHELL_TRIM //寤虹珛涓涓爣鍑嗘ā寮忕殑紿楀彛錛岀浉褰撲簬灞炴ц緗負CLOSE | TITLE | MIN | MAX | RESIZE
DIALOG_TRIM //寤虹珛涓涓璇濇妯″紡鐨勭獥鍙o紝鐩稿綋浜庡睘鎬ц緗負TITLE | CLOSE | BORDER


Ke 2010-07-16 15:26 鍙戣〃璇勮
]]>
閫忚鍥劇殑鏍囩鏀規垚娉㈡氮褰?/title><link>http://m.tkk7.com/keweibo/articles/288679.html</link><dc:creator>Ke</dc:creator><author>Ke</author><pubDate>Tue, 28 Jul 2009 01:39:00 GMT</pubDate><guid>http://m.tkk7.com/keweibo/articles/288679.html</guid><wfw:comment>http://m.tkk7.com/keweibo/comments/288679.html</wfw:comment><comments>http://m.tkk7.com/keweibo/articles/288679.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/keweibo/comments/commentRss/288679.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/keweibo/services/trackbacks/288679.html</trackback:ping><description><![CDATA[浣跨敤紜唬紕肩殑鏂瑰紡錛屽叿楂旈浠g⒓濡備笅<br /> package gecs.mes.ke.reelup.apps;<br /> <br /> import gecs.mes.ke.reelup.sys.IAppConstants;<br /> <br /> import org.eclipse.ui.IWorkbenchPreferenceConstants;<br /> import org.eclipse.ui.PlatformUI;<br /> import org.eclipse.ui.application.IWorkbenchConfigurer;<br /> import org.eclipse.ui.application.IWorkbenchWindowConfigurer;<br /> import org.eclipse.ui.application.WorkbenchAdvisor;<br /> import org.eclipse.ui.application.WorkbenchWindowAdvisor;<br /> <br /> public class ApplicationWorkbenchAdvisor extends WorkbenchAdvisor {<br /> <br />     private static final String PERSPECTIVE_ID = IAppConstants.DEFAULT_PERSPECTIVE_ID;<br /> <br />     public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {<br />         return new ApplicationWorkbenchWindowAdvisor(configurer);<br />     }<br />     <br />     public void initialize(IWorkbenchConfigurer configurer) {<br />         <br />         super.initialize(configurer);<br />         configurer.setSaveAndRestore(false);<br />         PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.SHOW_INTRO, false);<br />         //璦疆瑕栧湒妯欓嬈勭殑澶栬寮х窔澶栬<br />         PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.DOCK_PERSPECTIVE_BAR, IWorkbenchPreferenceConstants.TOP_RIGHT);<br />         PlatformUI.getPreferenceStore().setDefault(IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS, false);<br />         //<br />         PlatformUI.getPreferenceStore().setValue(IWorkbenchPreferenceConstants.SHOW_PROGRESS_ON_STARTUP, true);<br />     }<br /> <br />     public String getInitialWindowPerspectiveId() {<br />         <br />         return PERSPECTIVE_ID;<br />     }<br /> }<br /> <br /> <br /> <img src ="http://m.tkk7.com/keweibo/aggbug/288679.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/keweibo/" target="_blank">Ke</a> 2009-07-28 09:39 <a href="http://m.tkk7.com/keweibo/articles/288679.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>瑙f焙鍦╡clipse欏圭洰涓嬌鐢╱tf-8瀛楃鏅傚鍑洪敊璇?/title><link>http://m.tkk7.com/keweibo/articles/288671.html</link><dc:creator>Ke</dc:creator><author>Ke</author><pubDate>Tue, 28 Jul 2009 01:17:00 GMT</pubDate><guid>http://m.tkk7.com/keweibo/articles/288671.html</guid><wfw:comment>http://m.tkk7.com/keweibo/comments/288671.html</wfw:comment><comments>http://m.tkk7.com/keweibo/articles/288671.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/keweibo/comments/commentRss/288671.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/keweibo/services/trackbacks/288671.html</trackback:ping><description><![CDATA[鍦╡clipse欏圭洰涓嬌鐢╱tf-8瀛楃鍙兘浼氶犳垚瀵煎嚭鏃朵駭鐢熼敊璇紝紼嬪簭涓嶈兘姝e父榪愯 <br /> 鎴戜互鍓嶇綉涓婃壘鍒扮殑鍔炴硶閮戒笉濂斤紝瑙e喅鐨勫姙娉曞叾瀹炲崄鍒嗙畝鍗? <br /> 鍦╞uild.properties鏂囦歡涓姞鍏? <br /> <br /> javacDefaultEncoding.. = UTF-8 <img src ="http://m.tkk7.com/keweibo/aggbug/288671.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/keweibo/" target="_blank">Ke</a> 2009-07-28 09:17 <a href="http://m.tkk7.com/keweibo/articles/288671.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>寰Eclipse RCP瑙嗗浘涓坊鍔犲彸閿脊鍑鴻彍鍗曪紙杞夛級http://m.tkk7.com/keweibo/articles/288565.htmlKeKeMon, 27 Jul 2009 05:50:00 GMThttp://m.tkk7.com/keweibo/articles/288565.htmlhttp://m.tkk7.com/keweibo/comments/288565.htmlhttp://m.tkk7.com/keweibo/articles/288565.html#Feedback0http://m.tkk7.com/keweibo/comments/commentRss/288565.htmlhttp://m.tkk7.com/keweibo/services/trackbacks/288565.html 寰eclipse鐨勯粯璁avigationView涓紝娣誨姞鍙抽敭鑿滃崟欏規槸闈炲父瀹規槗鐨勶紝鐢氳嚦涓嶉渶瑕佽嚜宸卞啓浠g爜錛屽彧瑕佸湪plugin.xml涓坊鍔犳墿灞曢」渚垮彲浠ヤ簡銆?br /> 浣嗘槸榪欒繙榪滆揪涓嶅埌鎴戜滑鐨勮姹傘傚鏋滆鎴戜滑鍦ㄨ嚜宸辯殑rcp紼嬪簭鐨刅iew涓坊鍔犲彸閿脊鍑鴻彍鍗曞氨涓嶆槸寰堝鏄撲簡銆傜幇鍦ㄦ垜浠嬬粛涓涓嬪浣曞湪涓涓爲瑙嗗浘涓拡瀵逛笉鍚岀殑TreeObject娣誨姞涓嶅悓鐨勫彸閿脊鍑鴻彍鍗曠殑鏂規硶銆?br /> 濡傛灉涓嶆竻妤氬浣曟瀯寤轟竴涓爲錛岃鍙傝?/font>http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/CatalogSWT-JFace-Eclipse.htm, 榪欓噷鏈夊緢澶氬叧浜巈clipse Tree鐨勫疄渚嬨傜畝鍗曞皢鏉ワ紝Eclipse涓垱寤烘爲鏈変袱縐嶏紝涓縐嶆槸浣跨敤SWT鎻愪緵鐨勬爲錛屼緷鐓т竴瀹氱殑鏍煎紡緇欏叾鎻愪緵鏁版嵁錛屾垜鑷繁鍙敤榪欑鏂規硶鍒涘緩涓浜涚畝鍗曠殑銆? 闈欐佺殑鏍戙傚彟涓縐嶆柟娉曪紝閽堝浜嶳CP紼嬪簭錛屽彲浠ヤ嬌鐢↗Face鎻愪緵鐨凾reeViewer綾伙紝闈炲父鐏墊椿騫朵笖鏄撲簬鎵╁睍銆備嬌鐢═reeViewer闇瑕佸疄鐜? ITreeContentProvider鎺ュ彛鍜孖TreeLableProvider鎺ュ彛銆傜敱浜庢垜鐨勬椂闂存湁闄愶紝涓嶈兘鍚戝ぇ瀹舵彁渚涘叿浣撶殑瀹炵幇鏂規硶錛岃鍘熻皡銆? 鍙互鍙傝冧互涓嬫枃绔狅細http://eclipse.org/articles/treeviewer-cg/TreeViewerArticle.htm
鍦ㄥぇ浣撲簡瑙d簡濡備綍鏋勯犱竴涓爲涔嬪悗錛屾垜浠笅闈㈠氨鏉ヤ粙緇嶅彸閿脊鍑鴻彍鍗昪ontext menu鐨勫疄鐜版柟娉曘?br /> 涓涓猅reeViewer 蹇呴』緇ф壙ViewPart鏂規硶錛屽茍涓旈噸鍐欏叾涓殑createPartControl(Composite parent)綾匯?/font>

1    public void createPartControl(Composite parent) {
2
3    /* Set the imput data and image model of the tree viewer,
4    * and layout the viewer on the left part of the composite.
5    */
6     viewer = new TreeViewer(parent);
7     viewer.setContentProvider(new ViewContentProvider());
8     viewer.setLabelProvider(new ViewLabelProvider());
9     viewer.setInput(createDummyModel());
10
11   createActions();
12   createMenus();
13   createContextMenu(parent);
14
15   //handles the actions related with treeviewer.
16   makeActions(parent);
17 }
鍏朵腑錛岀7鍒?琛屼負璁劇疆TreeViewer鐨勫唴瀹規彁渚涘櫒銆佸浘鍍忔彁渚涘櫒銆佷互鍙婂垵濮嬪寲鏃剁殑杈撳叆鏁版嵁銆傜13琛屼負鍒涘緩鍙抽敭寮瑰嚭鑿滃崟銆?br />
1     private void createContextMenu(Composite parent) {
2
3          MenuManager mgr = new MenuManager();
4          mgr.setRemoveAllWhenShown(true);
5          mgr.addMenuListener(new IMenuListener() {
6              public void menuAboutToShow(IMenuManager manager) {
7                 fillContextMenu(manager);
8              }
9          });
10     Menu menu = mgr.createContextMenu(viewer.getControl());
11      viewer.getControl().setMenu(menu);
12     getSite().registerContextMenu(mgr, viewer);
13   }
絎?琛屼唬鐮? 涓紝setRemoveAllWhenShown(true)鐨勪綔鐢ㄦ槸娓呯┖浠ュ墠鏄劇ず鐨勮彍鍗曢」錛屽綋瑙﹀彂浜唌enu浜嬩歡鏃訛紝閲嶆柊濉厖 錛坒illContextMenu錛夛紝鎵浠ュ鏋滀笉鎶妑emoveAllWhenShow緗負true鐨勮瘽錛屾瘡鐐逛竴涓嬪彸閿綘灝變細鐪嬪埌鑿滃崟欏瑰鍑轟竴鍊嶆潵銆? Menu鏄痵wt鐨勬帶浠訛紝鑰孧enumanager鏄疛face涓殑鎺т歡錛屼笉璞WT閭f牱鐩存帴鍚屽簳灞傛墦浜ら亾銆傜敤MenuManager鍙互鍒涘緩鍑轟竴涓? Menu瀵硅薄銆傜鍗佽mgr.createContextMenu(viewer.getControl());榪欓噷鐨剉iewer鍗充負涓婇潰鐨剉iewer銆傜鍗佷竴琛岋紝鐒跺悗鎴戜滑灝嗘爲鐨剆etMenu鏂規硶灝嗘爲鎺т歡涓嶮enu鎺т歡鑱旂郴鍦ㄤ竴璧峰氨濂戒簡銆?br /> 鏈閲嶈鐨勬槸絎崄浜岃錛岃繖鏄痗ontext menu鑳戒笉鑳芥樉紺虹殑鍏抽敭銆備竴涓鍥句腑鍙互鏈夊涓猚ontext menu, 鑰屾瘡涓涓猚ontext menu閮藉繀欏繪敞鍐岀粰workbench銆傝繖闇瑕侀氳繃璋冪敤org.eclipse.ui.IWorkbenchPartSite.registerContextMenu(MenuManager menuManager, ISelectionProvider selectionProvider)鎴栬咃紙褰撴湁澶氫釜娉ㄥ唽鐨刢ontext menu鏃訛級org.eclipse.ui.IWorkbenchPartSite.registerContextMenu(String menuId, MenuManager menuManager, ISelectionProvider selectionProvider) 澧炲姞鐨勫弬鏁癿enuId鐢ㄤ簬鍖哄垎涓嶅悓鐨刢ontext menu銆?br /> 鎺ヤ笅鏉ワ紝鎴戜滑鏈変袱縐嶆柟娉曟潵鍒涘緩鍙抽敭寮瑰嚭鑿滃崟欏廣傜涓縐嶏紝瀹炵幇fillContextMenu()鏂規硶銆傚吀鍨嬬殑瀹炵幇浠g爜濡備笅錛?br /> 1     protected void fillContextMenu(IMenuManager manager) {
2  
3         manager.add(openAction);
4         manager.add(removeAction);
5          manager.add(addAction);
6               }

榪欎簺Action閮藉彲鐢辮嚜宸卞畾涔夊垱寤恒?br /> 鍙﹀鐨勬柟娉曪紝鍙互緙栬緫plugin.xml鏂囦歡銆備笉闇瑕佽嚜宸卞啓浠諱綍浠g爜渚垮彲浠ユ樉紺哄嚭鑷繁鎯寵鐨勫脊鍑洪」銆?br /> 榪欐鍏堣鍒拌繖閲岋紝涓嬫浠嬬粛鍙﹀鐨勪竴縐嶅疄鐜版柟寮忋傦紙涓昏鏄敱浜庡垰鍒涘緩Blog錛屼笉鐭ラ亾濡備綍鎻掑叆鍥劇墖錛岃繖涔堝啓澶垂鍔蹭篃澶灟鐕ヤ簡錛岀浉淇″ぇ瀹朵竴瀹氫笉鑳藉繊浜嗗惂錛佸挶浠笅嬈″啀瑙?/font>錛?br />


Ke 2009-07-27 13:50 鍙戣〃璇勮
]]>
eclispe RCP 灝忔妧宸э紙杞夛級http://m.tkk7.com/keweibo/articles/288564.htmlKeKeMon, 27 Jul 2009 05:46:00 GMThttp://m.tkk7.com/keweibo/articles/288564.htmlhttp://m.tkk7.com/keweibo/comments/288564.htmlhttp://m.tkk7.com/keweibo/articles/288564.html#Feedback0http://m.tkk7.com/keweibo/comments/commentRss/288564.htmlhttp://m.tkk7.com/keweibo/services/trackbacks/288564.html

涓銆佸悓鏃跺叧闂墍鏈夋墦寮鐨剉iew 
 
鍦╲iew涓?鍙湁涓涓猚lose,姣忔鍙兘鍏抽棴褰撳墠紿楀彛
鍦╡clipse鐨勭紪杈戠獥鍙g殑鏍囬涓婄偣鍙抽敭,閲岄潰鏈?close All
鍙互浣跨敤閬嶅巻鐨勬柟娉曪紝閬嶅巻鎵鏈夋墦寮鐨刅iew錛岀劧鍚庡皢鍏墮殣钘忥細
AsyncUtil.asyncExec(new Runnable()
{
       public void run()
       {
             IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
             IViewReference[] iViewReferences = page.getViewReferences();
             for (IViewReference iViewReference: iViewReferences)
                  if (!ID.equals(iViewReference.getId()))
                       page.hideView(iViewReference);
        }
});   
  浜屻丷CP涓駭鐢熺洰鏍囧尯鐨凚ar 
 
浜х敓綰㈢嚎鍖哄煙鐨凚ar,瀹炵幇鏂規硶濡備笅錛?br /> 1銆佽繖涓槸perspective錛岃鍒涘緩澶氫釜perspective錛岀劧鍚庤緗煇涓負active
2銆佸湪WorkbenchWindowAdvisor涓璸reWindowOpen鍐咃紝鍔犱笅闈㈣繖孌典唬鐮?br /> public void preWindowOpen() { 
        IPreferenceStore apiStore = PrefUtil.getAPIPreferenceStore();
        apiStore.setValue(IWorkbenchPreferenceConstants.DOCK_PERSPECTIVE_BAR,
                IWorkbenchPreferenceConstants.TOP_RIGHT);
        apiStore.setValue(
                IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS,
                false);
 }
3銆侀渶瑕佸姞 config.setShowPespectivebar(true); 
涓夈丷CP欏圭洰錛嶏紞紿楀彛鍏抽棴浜嬩歡 
鍦ˋpplicationWorkbenchWindowAdvisor涓璷verride
public boolean preWindowShellClose() {
        // do nothing, but allow the close() to proceed
        MessageBox msgBox = new MessageBox(new Shell(), SWT.YES|SWT.NO|SWT.ICON_QUESTION);
        msgBox.setText("閫鍑虹郴緇?);
        msgBox.setMessage("紜畾閫鍑虹郴緇?");
        if(msgBox.open()==SWT.YES){
            return true;
        }
        return false;
    }
浠ュ悗浣跨敤IWorkbenchWindow鐨刧etShell().close();閮戒細璋冪敤璇ュ浠g爜.  
鍥涖佸湪RCP涓璁$晫闈㈤傚悎妗岄潰澶у皬 
 
final int screenWidth = Display.getCurrent().getBounds().width;
final int screenHeight = Display.getCurrent().getBounds().height;
 
浜斻乀reeviewer涓氳繃浠g爜錛岄変腑鏍戜笂鐨勬煇涓猲ode鑺傜偣 
StructuredSelection sel=new StructuredSelection(node);
 tree.setSelected(sel); 
鍏乀reeViewer瀹炵幇鍙屽嚮灞曞紑銆佸叧闂?nbsp;
private class DoubleEventPro implements MouseListener {
        public void mouseDoubleClick(MouseEvent e) {
            TreeItem item = viewer.getTree().getItem(new Point(e.x, e.y));

            if (item != null && item.getItem(0).getText().trim().length() == 0) {
                viewer.expandToLevel(item.getData(), 1);
                return;
            }

            if (item != null && item.getItemCount() > 0
                    && item.getItem(0).getText().trim().length() > 0) {
                item.setExpanded(!item.getExpanded());
            }
        }

        public void mouseDown(MouseEvent e) {
        }
        public void mouseUp(MouseEvent e) {

        }
    } 
涓冦?濡備綍灞忚斀鎺夎鍥劇獥鍙d笂鐨勫彸閿脊鍑鴻彍鍗曪紵


鏂規硶涓錛氬湪 postWindowOpen() 涓墽琛屼笅闈㈣鍙?
PlatformUI.getWorkbench().getDisplay().addFilter(SWT.MouseUp, new Listener() {
    public void handleEvent(final Event event) {
        if(event.widget == your editor && event.button == 3) {
            int hwndCursor = OS.GetCapture ();
            OS.PostMessage(hwndCursor, OS.WM_LBUTTONDOWN, hwndCursor, OS.HTCLIENT | (OS.WM_MOUSEMOVE << 16));
        }
    }
});

鍏跺畠錛歰rg.eclipse.ui.internal.presentations.util鍖呬腑鐨凷tandardViewSystemMenu綾繪帶鍒剁潃榪欎簺鑿滃崟錛岃繕娌℃潵寰楁ヤ粩緇嗙爺絀訛紝鐮旂┒榪囧悗鍐嶈ˉ鍏?/font>

鍏佸湪浣跨敤tableviewer鐨勬椂鍊欏鍏ュぇ閲忔暟鎹殑闂

鍒涘緩浜嗕竴涓猼ableviewer錛岀劧鍚庝嬌鐢╯etInput鏂規硶瀵煎叆鏁版嵁錛屽鏋滄暟鎹噺寰堝ぇ鐨勮瘽鏍規湰灝辨棤鏁堢巼鍙█浜嗭紝浠ヤ笅鏄嚑縐嶈В鍐崇殑鏂規硶錛?/font>

鏂規硶涓錛氶氳繃縐誨姩婊氬姩鏉℃潵杈懼埌鑷姩鍔犺澆鐨勭洰鐨勶紝鍦ㄦ粴鍔ㄦ潯鐨勪簨浠朵腑鍔犲叆緲婚〉鐨勪唬鐮侊紝鍙互鍙傝冦奅clipse浠庡叆闂ㄥ埌綺鵑氥嬬浜岀増鐨凱383

鏂規硶浜岋細鍒嗛〉鏄劇ず錛?/font>http://www.eclipseworld.org/bbs/read-cec-tid-11678-keyword-table.html錛?/font>

鏂規硶涓夛細浣跨敤 Virtual Tables錛孞Face3.2鐨刅iewer宸茬粡鏀寔SWT.VIRTUAL鏍峰紡
http://www.eclipse.org/articles/Article-SWT-Virtual/Virtual-in-SWT.html

1 int COUNT = 10000;
2 final String [] itemStrings = new String [COUNT];
3 for (int i = 0; i < COUNT; i++) {
4   itemStrings = "item " + i;
5 }
6 final Table table = new Table(parent, SWT.BORDER | SWT.VIRTUAL);
7 table.addListener(SWT.SetData, new Listener() {
8   public void handleEvent(Event event) {
9     TableItem item = (TableItem)event.item;
10     int index = event.index;
11     item.setText(itemStrings [index]);
12   }
13 });
14 table.setItemCount(COUNT);

涔濄佸湪閫忚鍥懼揩鎹鋒柟寮忔爮涓悓鏃舵樉紺哄涓忚鍥懼揩鎹鋒柟寮?/font>

濡傛灉鍦ㄧ▼搴忎腑鍋氫簡澶氫釜涓忚鍥撅紝榛樿鍙樉紺哄垵濮嬮忚鍥懼揩鎹鋒柟寮忥紝姣忔閮借 鎵撳紑閫忚鍥鋸斺攐ther錛岀壒楹葷儲錛屾墍浠ワ紝涓涓嬫彁渚涗袱縐嶆柟娉曪細

1銆佸湪鍒囨崲鏍忎腑鏄劇ず
public class PIMWorkbenchAdvisor extends WorkbenchAdvisor {
    @Override
    public void postStartup() {
        super.postStartup();
        IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
        //2007.01.11 璁劇疆鍚屾椂鏄劇ず澶氫釜閫忚鍥炬爣
        PerspectiveBarManager barManager=((WorkbenchWindow)activeWorkbenchWindow).getPerspectiveBar();
        if(barManager != null){
            IPerspectiveDescriptor mailPerspective = WorkbenchPlugin.getDefault().getPerspectiveRegistry   ().findPerspectiveWithId("MyWork_mail.perspective");
            PerspectiveBarContributionItem item=new PerspectiveBarContributionItem(mailPerspective,activeWorkbenchWindow.getActivePage());
            barManager.addItem(item);
        }
}
2銆佸湪涓嬫媺妗嗕腑(shortcut)鏄劇ず
public class UiPerspective implements IPerspectiveFactory
{
    public void createInitialLayout(IPageLayout layout){
....
        //澧炲姞閫忚鍥?br />         layout.addPerspectiveShortcut("net.sf.pim.plugin.UiPerspective");
        layout.addPerspectiveShortcut("MyWork_mail.perspective");
       }
}
鍗併佹帶鍒?#8220;鏈榪戞墦寮鏂囨。”鐨勪釜鏁?br />        RCP涓湪緇ф壙ActionBarAdvisor鐨勭被涓畾涔?
       private IContributionItem reOpenAction = ContributionItemFactory.REOPEN_EDITORS.create(window);
       鐒跺悗鍦╢illMenuBar(IMenuManager menuBar)鏂規硶涓坊鍔犱笂闈㈢殑aciton
       榪愯鏃?#8220;鏈榪戞墦寮鐨勬枃妗?#8221;鍙湁4涓紝濡傛灉鎯寵嚜宸辨帶鍒?#8220;鏈榪戞墦寮鐨勬枃妗?#8221;鐨勬暟閲忥紝鍒欒緗竴涓媁orkbench涓殑鍒濆鍖栭閫夐」鏃禦ECENT_FILES鐨勯粯璁ゅ弬鏁板煎錛?br /> WorkbenchPlugin.getDefault().getPreferenceStore().setDefault(IPreferenceConstants.RECENT_FILES,10);

鍗佷竴銆佽緗瓻clipse RCP紼嬪簭鐨勫瑙傚拰棣栭夐」
       RCP搴旂敤紼嬪簭鐨勭己鐪佸瑙傛槸涓涓┖鐧界獥鍙o紝涓鑸垜浠閫氳繃涓涓猈orkbenchAdvisor綾誨鐣岄潰榪涜瀹氬埗銆? WorkbenchAdvisor鏈夊緢澶氬洖璋冩柟娉曪紝鍙互鍦╬reWindowOpen()鏂規硶閲岃緗彍鍗曘佸伐鍏鋒潯銆佺姸鎬佹爮銆佽繘搴︽爮銆侀忚鍥懼垏鎹㈠伐鍏鋒槸鍚﹀彲 瑙侊紝鍦╢illActionBars()鏂規硶閲屾坊鍔犺彍鍗曞拰宸ュ叿鏉¢」錛屽湪getInitialWindowPerspectiveId()鏂規硶閲屾寚瀹氶閫夌殑 閫忚鍥俱?/font>

       緙虹渷鎯呭喌涓嬶紝閫忚鍥懼垏鎹㈠伐鍏蜂綅浜庣獥鍙e乏涓婅錛屽湪Eclipse閲屽彲浠ラ氳繃Window->Preferences-> Workbench->Appearance鏀瑰彉瀹冪殑浣嶇疆錛岄偅涔堟庢牱鐢ㄧ▼搴忔帶鍒跺畠鍛紵鏈変袱涓柟娉曪紝絎竴涓槸浣跨敤濡備笅浠g爜璁劇疆 IPreferenceStore涓殑鍙橀噺錛?/font>

IPreferenceStore apiStore = PrefUtil.getAPIPreferenceStore();
apiStore.setValue(IWorkbenchPreferenceConstants.DOCK_PERSPECTIVE_BAR, IWorkbenchPreferenceConstants.TOP_RIGHT);
鍙︿竴涓柟娉曟槸鍦╬lugin鎵鍦ㄧ洰褰曞緩涓涓悕涓簆lugin_customization.ini鐨勬枃浠訛紝閲岄潰鍐欏涓嬪唴瀹癸細

your.plugin.id/DOCK_PERSPECTIVE_BAR=topRight
鍏朵粬涓巔lugin鐩稿叧鐨凱reference鍊煎彲浠ョ敤鍚屾牱鏂規硶璁劇疆銆?/font>

Update:鍦ㄦ渶鏂扮殑Eclipse 3.1M5a鐗堟湰涓紝瀵筊CP搴旂敤紼嬪簭鑿滃崟鍜屽伐鍏鋒潯鐨勫畾鍒舵柟娉曟湁鎵鏀瑰彉錛屽簲璇ヤ嬌鐢ㄦ柊鍔犲叆鐨凙ctionBarAdvisor綾繪潵瀹屾垚姝ら」宸ヤ綔銆?/font>

鍗佷簩銆佽幏寰楄嚜宸卞紑鍙戠殑plugin琚畨瑁呯殑鐩綍
  /** *//**
     * @return 鏈彃浠剁殑瀹夎璺緞
     */
    public String getInstallDir() ...{
        if (installPath == null) ...{
            URL localUrl = null;
            try ...{
                localUrl = FileLocator.toFileURL(getDefault().getBundle()
                        .getEntry("/"));
                installPath = localUrl.getFile().substring(1);
            } catch (Exception e) ...{
                log(e);
            }
        }
        return installPath;
    }

杞夎嚜http://duguanglong002.blog.163.com/blog/static/26955626200955415545/



Ke 2009-07-27 13:46 鍙戣〃璇勮
]]>
鍏跺畠綬氱▼璦晱UI綬氱▼http://m.tkk7.com/keweibo/articles/286959.htmlKeKeThu, 16 Jul 2009 03:52:00 GMThttp://m.tkk7.com/keweibo/articles/286959.htmlhttp://m.tkk7.com/keweibo/comments/286959.htmlhttp://m.tkk7.com/keweibo/articles/286959.html#Feedback0http://m.tkk7.com/keweibo/comments/commentRss/286959.htmlhttp://m.tkk7.com/keweibo/services/trackbacks/286959.html
                    @Override
                    public void run() {
                            // TODO Auto-generated method stub
                             ... ...
                   }
                                   
 });


Ke 2009-07-16 11:52 鍙戣〃璇勮
]]>
Eclipse鍒囨崲鐣岄潰欏ず鐨勮獮璦http://m.tkk7.com/keweibo/articles/283352.htmlKeKeSat, 20 Jun 2009 06:42:00 GMThttp://m.tkk7.com/keweibo/articles/283352.htmlhttp://m.tkk7.com/keweibo/comments/283352.htmlhttp://m.tkk7.com/keweibo/articles/283352.html#Feedback0http://m.tkk7.com/keweibo/comments/commentRss/283352.htmlhttp://m.tkk7.com/keweibo/services/trackbacks/283352.html

棣栧厛瑕佸姞鍏clipse鐨勮獮璦鍖咃紝瀹樻柟鏈夋彁渚?a >www.eclipse.org娉ㄦ剰閬╃敤鐨勭増鏈?br />
瑕佸垏鎻涗笉鍚岀殑鐣岄潰瑾炶█錛屽彧闇鐨勫揩鎹烽張鎺ヤ腑鍔犲叆鍙冩暩錛?br />
-nl "zh_CN"  綈¢珨涓枃
-nl "zh_TW" 綣侀珨涓枃
-nl "en_US" 鑻辨枃


C:\Program Files\eclipse\eclipse.exe -nl "en_US"



Ke 2009-06-20 14:42 鍙戣〃璇勮
]]>
rcp娣誨姞jar鏂囦歡http://m.tkk7.com/keweibo/articles/268293.htmlKeKeThu, 30 Apr 2009 01:52:00 GMThttp://m.tkk7.com/keweibo/articles/268293.htmlhttp://m.tkk7.com/keweibo/comments/268293.htmlhttp://m.tkk7.com/keweibo/articles/268293.html#Feedback0http://m.tkk7.com/keweibo/comments/commentRss/268293.htmlhttp://m.tkk7.com/keweibo/services/trackbacks/268293.html 鍦╬lugin.xml涓紝runtime欏甸潰錛宑lass-path鑺備腑錛岀偣add錛岄夋嫨鍒氭墠鐨刯ar鍖呫?灝監K浜?br />

Ke 2009-04-30 09:52 鍙戣〃璇勮
]]>
緋葷當鎵樼洡http://m.tkk7.com/keweibo/articles/244711.htmlKeKeFri, 05 Dec 2008 15:56:00 GMThttp://m.tkk7.com/keweibo/articles/244711.htmlhttp://m.tkk7.com/keweibo/comments/244711.htmlhttp://m.tkk7.com/keweibo/articles/244711.html#Feedback0http://m.tkk7.com/keweibo/comments/commentRss/244711.htmlhttp://m.tkk7.com/keweibo/services/trackbacks/244711.htmlpackage hellorcp.tool;

import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ShellAdapter;
import org.eclipse.swt.events.ShellEvent;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Tray;
import org.eclipse.swt.widgets.TrayItem;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.plugin.AbstractUIPlugin;

public class HookSysTray {

 private TrayItem trayItem;
 
 public HookSysTray() {
  
 }
 
 public void createSysTray(final IWorkbenchWindow window) {
  trayItem = initTrayItem(window);
  if(trayItem != null) {
   trayPopupMenu(window);
   trayMinimize(window);
  }
 }
 //鏈灝忓寲鍒伴P
 private void trayMinimize(final IWorkbenchWindow window) {
  // TODO Auto-generated method stub
  window.getShell().addShellListener(new ShellAdapter(){

   @Override
   public void shellIconified(ShellEvent e) {
    // TODO Auto-generated method stub
    window.getShell().setVisible(false);
   }
   
  });
  trayItem.addListener(SWT.Selection, new Listener(){

   public void handleEvent(Event event) {
    // TODO Auto-generated method stub
    Shell shell = window.getShell();
    if(!shell.isVisible()) {
     shell.setVisible(true);
     window.getShell().setMinimized(false);
    }
   }
   
  });
 }
 //棰朠鍑鴻彍?
 private void trayPopupMenu(final IWorkbenchWindow window) {
  // TODO Auto-generated method stub
  trayItem.addListener(SWT.MenuDetect, new Listener() {

   public void handleEvent(Event event) {
    // TODO Auto-generated method stub
    MenuManager trayMenu = new MenuManager();
    Menu menu = trayMenu.createContextMenu(window.getShell());
    fillTrayItem(trayMenu, window);
    menu.setVisible(true);
   }
  });
 }

 //閫犻P鑿滈浘
 private void fillTrayItem(IMenuManager trayMenu, final IWorkbenchWindow window) {
  Action exitSystem = new Action("閫鍑虹郴緄盵&E]",
AbstractUIPlugin.imageDescriptorFromPlugin(
    IAppConstants.APPLICATION_ID, IImagekey.EXIT_STSTEN)) {

     @Override
     public void run() {
      // TODO Auto-generated method stub
      PlatformUI.getWorkbench().close();
     }
   
  };
  trayMenu.add(exitSystem);
 }
 //鍒濆鍖?br />  private TrayItem initTrayItem(IWorkbenchWindow window) {
  // TODO Auto-generated method stub
  final Tray tray = window.getShell().getDisplay().getSystemTray();
  if(tray == null)
   return null;
  trayItem = new TrayItem(tray, SWT.NONE);
  trayItem.setImage(CacheImage.getInstance().getImage(
    IAppConstants.APPLICATION_ID, IImagekey.WINDOW_IMAGE));
  trayItem.setToolTipText(IAppConstants.APPLICATION_TITLE);
  return trayItem;
 }
 
 //鏈灝忓寲紼嬪紡紿楀彛
 public void windowMinimized(final Shell shell) {
  shell.setMinimized(true);
  shell.setVisible(false);
 }
 
 //
 public void disponse() {
  if(trayItem != null)
   trayItem.dispose();
 }
}



Ke 2008-12-05 23:56 鍙戣〃璇勮
]]>
鍦栫墖綬╁瓨欏烇紙CacheImage錛?http://m.tkk7.com/keweibo/articles/244710.htmlKeKeFri, 05 Dec 2008 15:54:00 GMThttp://m.tkk7.com/keweibo/articles/244710.htmlhttp://m.tkk7.com/keweibo/comments/244710.htmlhttp://m.tkk7.com/keweibo/articles/244710.html#Feedback0http://m.tkk7.com/keweibo/comments/commentRss/244710.htmlhttp://m.tkk7.com/keweibo/services/trackbacks/244710.htmlpackage hellorcp.tool;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.plugin.AbstractUIPlugin;

public class CacheImage {

 private final Map<String, Image> imageMap = new HashMap<String, Image>();
 private static CacheImage INSTANCE = null;
 
 private CacheImage(){
  
 }
 //鍠緥
 public static CacheImage getInstance() {
  if(INSTANCE == null)
   INSTANCE = new CacheImage();
  return INSTANCE;
 }
 //鐛插緱鍦栫墖
 public Image getImage(String applicationId, String imageName) {
  if(imageName == null)
   return null;
  Image image = imageMap.get(imageName);
  if(image == null) {
   image = AbstractUIPlugin.imageDescriptorFromPlugin(applicationId,
imageName).createImage();//鎳夌敤紼嬪簭鐨処D錛屽湒鐗囩殑璺緫
   imageMap.put(imageName, image);
  }
  return image;
 }
 //dispose璩囨簮
 public void dispose() {
  Iterator<Image> iterator = imageMap.values().iterator();
  while(iterator.hasNext())
   iterator.next().dispose();
  imageMap.clear();
 }
}



Ke 2008-12-05 23:54 鍙戣〃璇勮
]]>
欏ず瑕栧湒欏烇紙ShowViewAction 錛夎垏ActionManager欏炰竴璧蜂嬌鐢?/title><link>http://m.tkk7.com/keweibo/articles/244709.html</link><dc:creator>Ke</dc:creator><author>Ke</author><pubDate>Fri, 05 Dec 2008 15:46:00 GMT</pubDate><guid>http://m.tkk7.com/keweibo/articles/244709.html</guid><wfw:comment>http://m.tkk7.com/keweibo/comments/244709.html</wfw:comment><comments>http://m.tkk7.com/keweibo/articles/244709.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/keweibo/comments/commentRss/244709.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/keweibo/services/trackbacks/244709.html</trackback:ping><description><![CDATA[<p>package testrcp.actions;</p> <p>import org.eclipse.jface.action.Action;<br /> import org.eclipse.jface.dialogs.ErrorDialog;<br /> import org.eclipse.ui.IWorkbenchPage;<br /> import org.eclipse.ui.IWorkbenchWindow;<br /> import org.eclipse.ui.PartInitException;<br /> import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;<br /> import org.eclipse.ui.views.IViewDescriptor;</p> <p>public class ShowViewAction extends Action implements IWorkbenchAction {</p> <p> private IWorkbenchWindow workbenchWindow;<br />  private IViewDescriptor desc;<br />  <br />  public ShowViewAction(IWorkbenchWindow window, IViewDescriptor desc) {<br />   super("");<br />   /** 鑾峰緱瑙嗗浘鐨勫悕縐?*/<br />   String label = desc.getLabel();<br />   /** 璁劇疆鎿嶄綔鐨勫悕縐?*/<br />   setText(label);<br />   /** 璁劇疆鎿嶄綔鐨勫浘鏍囦負瑙嗗浘鐨勫浘鏍?*/<br />   setImageDescriptor(desc.getImageDescriptor());<br />   /** 璁劇疆鎿嶄綔鐨勬彁紺烘枃鏈?*/<br />   setToolTipText(label);<br />   setId("ShowView" + desc.getId());<br />   <br />   this.workbenchWindow = window;<br />   this.desc = desc;<br />  }<br />  <br />  @Override<br />  public void run() {<br />   /** 鑾峰緱褰撳墠宸ヤ綔鍖哄強鑾峰緱宸ヤ綔欏甸潰 */<br />   IWorkbenchPage page = workbenchWindow.getActivePage();<br />   /** 濡傛灉欏甸潰涓嶄負null */<br />   if (page != null) {<br />    try {<br />     /** 鏄劇ず瑙嗗浘 */<br />     page.showView(desc.getId());<br />    } catch (PartInitException e) {<br />     ErrorDialog.openError(workbenchWindow.getShell(), "鎵撳紑瑙嗗浘閿欒<br /> 錛?, e.getMessage(), e.getStatus());<br />    }<br />   }<br />  }</p> <p> @Override<br />  public void dispose() {<br />   <br />   workbenchWindow = null;<br />  }</p> <p>}<br /> </p> <img src ="http://m.tkk7.com/keweibo/aggbug/244709.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/keweibo/" target="_blank">Ke</a> 2008-12-05 23:46 <a href="http://m.tkk7.com/keweibo/articles/244709.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Action 綆$悊欏烇紙ActionManager 錛?/title><link>http://m.tkk7.com/keweibo/articles/244708.html</link><dc:creator>Ke</dc:creator><author>Ke</author><pubDate>Fri, 05 Dec 2008 15:45:00 GMT</pubDate><guid>http://m.tkk7.com/keweibo/articles/244708.html</guid><wfw:comment>http://m.tkk7.com/keweibo/comments/244708.html</wfw:comment><comments>http://m.tkk7.com/keweibo/articles/244708.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/keweibo/comments/commentRss/244708.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/keweibo/services/trackbacks/244708.html</trackback:ping><description><![CDATA[<p>package testrcp.actions;</p> <p>import org.eclipse.ui.IWorkbenchWindow;<br /> import org.eclipse.ui.actions.ActionFactory.IWorkbenchAction;<br /> import org.eclipse.ui.views.IViewDescriptor;</p> <p>public class ActionManager {</p> <p> public static IWorkbenchAction createHelloWorldAction(IWorkbenchWindow window) {<br />   if(window == null)<br />    throw new IllegalArgumentException();<br />   IWorkbenchAction helloWorldAction = new HelloWorldAction(window);<br />   return helloWorldAction;<br />  }<br />  <br />  /**鑾峰緱plugin.xml鏂囦歡涓厤緗殑瑙嗗浘淇℃伅*/<br />  public static IWorkbenchAction createShowViewAction(IWorkbenchWindow window, String viewId) {<br />   if(window == null)<br />    throw new IllegalArgumentException();<br />   IViewDescriptor desc = window.getWorkbench().getViewRegistry().find(viewId);<br />   IWorkbenchAction action = new ShowViewAction(window, desc);<br />   return action;<br />  }<br /> }<br /> </p> <img src ="http://m.tkk7.com/keweibo/aggbug/244708.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/keweibo/" target="_blank">Ke</a> 2008-12-05 23:45 <a href="http://m.tkk7.com/keweibo/articles/244708.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>ApplicationWorkbenchWindowAdvisor 欏?/title><link>http://m.tkk7.com/keweibo/articles/244707.html</link><dc:creator>Ke</dc:creator><author>Ke</author><pubDate>Fri, 05 Dec 2008 15:42:00 GMT</pubDate><guid>http://m.tkk7.com/keweibo/articles/244707.html</guid><wfw:comment>http://m.tkk7.com/keweibo/comments/244707.html</wfw:comment><comments>http://m.tkk7.com/keweibo/articles/244707.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/keweibo/comments/commentRss/244707.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/keweibo/services/trackbacks/244707.html</trackback:ping><description><![CDATA[<p>package testrcp.app;</p> <p>import org.eclipse.jface.action.MenuManager;<br /> import org.eclipse.swt.SWT;<br /> import org.eclipse.swt.graphics.Image;<br /> import org.eclipse.swt.graphics.Point;<br /> import org.eclipse.swt.graphics.Rectangle;<br /> import org.eclipse.swt.widgets.Display;<br /> import org.eclipse.swt.widgets.Event;<br /> import org.eclipse.swt.widgets.Listener;<br /> import org.eclipse.swt.widgets.Menu;<br /> import org.eclipse.swt.widgets.Shell;<br /> import org.eclipse.swt.widgets.Tray;<br /> import org.eclipse.swt.widgets.TrayItem;<br /> import org.eclipse.ui.IWorkbenchWindow;<br /> import org.eclipse.ui.application.ActionBarAdvisor;<br /> import org.eclipse.ui.application.IActionBarConfigurer;<br /> import org.eclipse.ui.application.IWorkbenchWindowConfigurer;<br /> import org.eclipse.ui.application.WorkbenchWindowAdvisor;</p> <p>public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {</p> <p> private TrayItem trayItem;//緋葷粺鎵樼洏瀵硅薄<br />  private Image trayImage;//緋葷粺鎵樼洏鍥炬爣瀵硅薄<br />  /** 紼嬪簭鐨勮彍鍗曟潯 */<br />  private ApplicationActionBarAdvisor actionBarAdvisor;<br />  <br />     public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {<br />         super(configurer);<br />     }<br />     /** 鍒涘緩鑿滃崟鏉″璞?*/<br />     public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {<br />         actionBarAdvisor = new ApplicationActionBarAdvisor(configurer);<br />      return actionBarAdvisor;<br />     }<br />     <br />     /** 鎵撳紑紿楀彛鍓嶈皟鐢ㄨ鏂規硶錛屽紿楀彛鍒濆鍖栬緗?*/<br />     public void preWindowOpen() {<br />         IWorkbenchWindowConfigurer configurer = getWindowConfigurer();<br />         configurer.setInitialSize(new Point(600, 400));<br />         configurer.setShowCoolBar(true);//宸ュ叿鏍?br />         configurer.setShowStatusLine(false);//鐘舵佹爮<br />         <br />         configurer.setShowPerspectiveBar(true);//閫忚鍥?br />         configurer.setShowProgressIndicator(true);//榪涘害鏉?br />         <br />         final IWorkbenchWindow window = super.getWindowConfigurer().getWindow();<br />         /** 鍒涘緩緋葷粺鎵樼洏 */<br />         trayItem = initTrayItem(window);<br />         /** 濡傛灉鏀寔緋葷粺鎵樼洏錛屽垯鍒涘緩鎵樼洏鐨勮彍鍗?*/<br />         if(trayItem != null) {<br />          createPopupMenu(window);<br />         }<br />     }<br />     <br />     /**<br />   * 鍒涘緩緋葷粺鎵樼洏鑿滃崟<br />   * <br />   * @param window<br />   *            宸ヤ綔鍙扮獥鍙e璞?br />   */<br />     private void createPopupMenu(final IWorkbenchWindow window) {<br />   trayItem.addListener(SWT.MenuDetect, new Listener() {</p> <p>   @Override<br />    public void handleEvent(Event event) {<br />     MenuManager trayMenu = new MenuManager();<br />     Menu menu = trayMenu.createContextMenu(window.getShell());<br />     /**<br />      * 璋冪敤fillTrayItem鏂規硶鍒涘緩緋葷粺鎵樼洏瀵硅薄錛屽彲浠ョ洿鎺ュ埄鐢ㄨ彍鍗曟爮涓殑鎿嶄綔 鑰屼笉闇瑕侊紝閲嶆柊鍒涘緩鎿嶄綔<br />      */<br />     actionBarAdvisor.fillTrayItem(trayMenu);<br />     menu.setVisible(true);<br />    }<br />    <br />   });<br />   <br />  }</p> <p> /**<br />   * 鍒濆鍖栫郴緇熸墭鐩樺璞?br />   * <br />   * @param window<br />   *            宸ヤ綔鍙扮獥鍙e璞?br />   * @return 璇ョ▼搴忔墍瀵瑰簲鐨勭郴緇熸墭鐩樺璞?br />   */<br />  private TrayItem initTrayItem(IWorkbenchWindow window) {<br />   final Tray tray = Display.getCurrent().getSystemTray();<br />   if(tray == null)<br />    return null;<br />   TrayItem trayItem = new TrayItem(tray, SWT.NONE);<br />   trayImage = Activator.getImageDescriptor("icons/logo.gif").createImage();<br />   trayItem.setImage(trayImage);<br />   trayItem.setToolTipText("System Tray");<br />   <br />   return trayItem;<br />  }</p> <p> @Override<br />  public void postWindowOpen() {<br />   //紿楀彛灞呬腑鏄劇ず<br />   Shell shell = getWindowConfigurer().getWindow().getShell();<br />   Rectangle screenSize = Display.getDefault().getClientArea();<br />   Rectangle frameSize = shell.getBounds();<br />   shell.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2);<br />  }<br />     <br />  /** 閲婃斁紿楀彛錛岄噴鏀劇郴緇熸墭鐩?*/<br />  public void dispose() {<br />   if (trayImage != null) {<br />    trayImage.dispose();<br />    trayItem.dispose();<br />   }<br />  }</p> <p>}<br /> </p> <img src ="http://m.tkk7.com/keweibo/aggbug/244707.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/keweibo/" target="_blank">Ke</a> 2008-12-05 23:42 <a href="http://m.tkk7.com/keweibo/articles/244707.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>紿楀彛灞呬腑欏ず浠g⒓http://m.tkk7.com/keweibo/articles/244706.htmlKeKeFri, 05 Dec 2008 15:40:00 GMThttp://m.tkk7.com/keweibo/articles/244706.htmlhttp://m.tkk7.com/keweibo/comments/244706.htmlhttp://m.tkk7.com/keweibo/articles/244706.html#Feedback0http://m.tkk7.com/keweibo/comments/commentRss/244706.htmlhttp://m.tkk7.com/keweibo/services/trackbacks/244706.html閲嶅ApplicationWorkbenchWindowAdvisor欏炵殑postWindowOpen鏂規硶
public void postWindowOpen() {
  //紿楀彛灞呬腑
  Shell shell = getWindowConfigurer().getWindow().getShell();
  Rectangle screenSize = Display.getDefault().getClientArea();
  Rectangle frameSize = shell.getBounds();
  shell.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2);
 }



Ke 2008-12-05 23:40 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 一级毛片在线免费观看| 在线观看H网址免费入口| 亚洲成a人片在线观看中文动漫| 蜜臀98精品国产免费观看| 亚洲狠狠婷婷综合久久蜜芽| 亚洲αv在线精品糸列| 免费无码中文字幕A级毛片| 亚洲精品9999久久久久无码| 亚洲欧洲无码AV电影在线观看| 国产va免费精品观看精品| 国产精品免费一区二区三区| 亚洲国产精品综合一区在线| 亚洲天堂中文字幕在线| 成人无码区免费A片视频WWW| jizz在线免费观看| 亚洲最大天堂无码精品区| 亚洲av永久无码制服河南实里| 暖暖免费高清日本一区二区三区| 黄页免费在线观看 | 亚洲第一二三四区| 亚洲男人第一无码aⅴ网站| av大片在线无码免费| 中文字幕永久免费| 欧洲亚洲国产精华液| 亚洲欧洲国产综合| 亚洲精品中文字幕无码蜜桃 | 亚洲三级电影网站| 久久久久亚洲精品无码网址| 在人线av无码免费高潮喷水| 免费成人高清在线视频| 搜日本一区二区三区免费高清视频 | 97在线线免费观看视频在线观看 | 国产美女无遮挡免费视频网站| 中文字幕在线免费| 十八禁在线观看视频播放免费| 国产亚洲情侣久久精品| 亚洲老熟女五十路老熟女bbw| 最近中文字幕mv手机免费高清| 日韩在线视精品在亚洲| 亚洲成人免费网站| 精品亚洲A∨无码一区二区三区|