hengheng123456789

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            297 Posts :: 68 Stories :: 144 Comments :: 0 Trackbacks
          ???我們在進行Eclipse插件開發過程中,可能經常會需要修改Eclipse的標題,把Title改為自己公司的產品名稱,我在網上查找了一些資料(“小小涼粉”在Eclipse社區提問的回復),加上自己的實踐總結出以下幾種方法:


          1、可以通過獲取主程序的Shell來更改程序標題。

          public static void changeAppTitle(String newTitle) {?
          ???Display display = Display.getDefault();?
          ???if (display != null) {?
          ??????Shell shells[] = display.getShells();?
          ??????for (int i = 0; i?<=shells.length();i++){
          ?????????Object data = shells .getData();?
          ?????????// 檢查shell是否為主程序的?shell:?
          ?????????if (data instanceof IWorkbenchWindow) {?
          ????????????// 更改主程序的標題文字
          ????????????shells .setText(newTitle);?
          ????????????break;?
          ?????????}?
          ??????}?
          ???}
          }

          2、通過重載
          WorkbenchWindowAdvisor 來實現

          public class MyWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor implements IPropertyChangeListener {?
          ???...?
          ???@Override?
          ???public void preWindowOpen() {?
          ??????super.preWindowOpen();?
          ??????_configurer = getWindowConfigurer();?

          ??????setTitle();?
          ??????PreferencesImpl.store().addPropertyChangeListener(this);?
          ???}?

          ???public void propertyChange(final PropertyChangeEvent event) {?
          ??????if (event.getProperty().equals(MY_PREFERENCE_KEY)) {?
          ?????????if (!event.getOldValue().equals(event.getNewValue())) {?
          ????????????setTitle();?
          ?????????}?
          ??????}?
          ???}?

          ???protected void setTitle() {?
          ??????final String title = computeNewTitleHoweverYouLike();?
          ??????_configurer.setTitle(title);?
          ???}?

          ???protected IWorkbenchWindowConfigurer _configurer;
          }

          3、通過修改Eclipse源代碼來實現

          其實最簡單的方法就是直接修改源代碼,我把Eclipse3.1.2的org.eclipse.ui.ide_3.1.1.jar源碼進行了修改,只需修改org.eclipse.ui.internal.ide包中IDEWorkbenchWindowAdvisor.java類,在computeTitle()方法內增加一句話就OK了!

          ??? private String computeTitle() {
          ??????..........
          ????????// 在返回標題名稱之前,進行title的自定義設置
          ??????? title = "隨便你取什么名字:)";
          ??????? return title;???????
          ??? }

          大家如果需要動態改變標題,請看“小小涼粉”的《動態改變RCP應用程序的標題》一文,地址為:
          http://www.aygfsteel.com/dearwolf/archive/2006/12/13/87554.html
          posted on 2006-12-13 18:05 哼哼 閱讀(4583) 評論(5)  編輯  收藏 所屬分類: JAVA-Eclipse

          Feedback

          # re: 如何更改Eclipse運行環境的Title標題 2006-12-13 18:14 BeanSoft
          暈, 貌似寫 Plugin 的都是通過指定一個什么默認的 -feature 參數來改變 Eclipse 標題的, 例如 MyEclipse, BEA Weblogic Workshop...

          反正第三種寫法應該是最懶的.

          MyEclipse 貌似是再啟動參數里加了個 -feature ....myeclipse 的參數啟動的, 但是直接用 eclipse.exe 啟動標題還是老樣子.

          可惜一時找不到快捷方式了.


          我不懂 Eclipse 的相關開發  回復  更多評論
            

          # re: 如何更改Eclipse運行環境的Title標題 2006-12-13 18:36 小小涼粉
          這分明是我在Eclipse 新聞組里面發的提問后面的回復  回復  更多評論
            

          # re: 如何更改Eclipse運行環境的Title標題 2006-12-14 10:19 哼哼
          原來是仁兄(小小涼粉)在Eclipse 新聞組提問的啊!真是相見恨晚,我在Google中搜了很久關于更改Eclipse標題的方法,多虧仁兄在新聞組的提問,我才想到了第三種方法!希望仁兄多多指教:)  回復  更多評論
            

          # re: 如何更改Eclipse運行環境的Title標題 2006-12-14 12:06 小小涼粉
          sorry, 開始的口氣有點不太好...

          第三種方法并不能動態改變標題

          動態的方法可以到我的帖子里面有答案...  回復  更多評論
            

          # re: 如何更改Eclipse運行環境的Title標題 2006-12-14 12:44 哼哼
          呵呵!沒關系,咱們開發人員都是性情中人,都沒有惡意,我也是昨天在網上找了許久才找到的答案,快下班了急忙寫下這段隨筆,怕以后忘了,今后一定注意寫明出處。在這里向您表示深深的歉意:)
          大家如果需要動態改變標題,請看“小小涼粉”的《動態改變RCP應用程序的標題》一文,地址為:
          http://www.aygfsteel.com/dearwolf/archive/2006/12/13/87554.html
          “小小涼粉”主頁為:
          http://www.aygfsteel.com/dearwolf/
          其中有許多Eclipse相關的文章,請多多支持!
            回復  更多評論
            

          主站蜘蛛池模板: 高安市| 通渭县| 德令哈市| 济阳县| 滨海县| 聂拉木县| 象州县| 吉林省| 华坪县| 永清县| 农安县| 衡山县| 锦州市| 城口县| 怀集县| 仲巴县| 平安县| 饶阳县| 正定县| 安塞县| 东兰县| 资溪县| 延庆县| 民丰县| 仪陇县| 津市市| 邢台市| 英吉沙县| 安龙县| 兴宁市| 报价| 化州市| 东明县| 台中县| 当阳市| 时尚| 长海县| 普兰县| 湾仔区| 崇义县| 新干县|