如何更改Eclipse运行环境的Title标题

如何更改Eclipse运行环境的Title标题
   我们在进行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

你可能感兴趣的:(如何更改Eclipse运行环境的Title标题)