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.blogjava.net/dearwolf/archive/2006/12/13/87554.html
posted on 2006-12-13 18:05 哼哼 阅读(4530) 评论(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.blogjava.net/dearwolf/archive/2006/12/13/87554.html
“小小凉粉”主页为:
http://www.blogjava.net/dearwolf/
其中有许多Eclipse相关的文章,请多多支持!
  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: