Eclipse RCP 系统任务栏

来源:互联网 发布:网络用语2017最新 编辑:程序博客网 时间:2024/05/21 22:35

下面给RCP应用添加系统任务栏图标和右键菜单。最小化应用时,会在系统任务栏显示这个图标。

创建新工程"jzvslm.info.rcp.intro.traytest",用"Hello RCP" 模板。创建commandid设置为"jzvslm.info.rcp.intro.traytest.exitCommand" 。按照上次创建的command的方法创建exitCommand的默认处理类。

打开类"ApplicationWorkbenchWindowAdvisor" 并填写下面的代码。

package jzvslm.info.rcp.intro.traytest;

 

import org.eclipse.swt.SWT;

import org.eclipse.swt.events.ShellAdapter;

import org.eclipse.swt.events.ShellEvent;

import org.eclipse.swt.graphics.Image;

import org.eclipse.swt.graphics.Point;

import org.eclipse.swt.widgets.Event;

import org.eclipse.swt.widgets.Listener;

import org.eclipse.swt.widgets.Menu;

import org.eclipse.swt.widgets.MenuItem;

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.application.ActionBarAdvisor;

import org.eclipse.ui.application.IActionBarConfigurer;

import org.eclipse.ui.application.IWorkbenchWindowConfigurer;

import org.eclipse.ui.application.WorkbenchWindowAdvisor;

import org.eclipse.ui.handlers.IHandlerService;

import org.eclipse.ui.plugin.AbstractUIPlugin;

 

public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {

 

       private IWorkbenchWindow window;

       private TrayItem trayItem;

       private Image trayImage;

       private final static String COMMAND_ID = "jzvslm.info.rcp.intro.traytest.exitCommand";

 

       public ApplicationWorkbenchWindowAdvisor(

                     IWorkbenchWindowConfigurer configurer) {

              super(configurer);

       }

 

       public ActionBarAdvisor createActionBarAdvisor(

                     IActionBarConfigurer configurer) {

              return new ApplicationActionBarAdvisor(configurer);

       }

 

       public void preWindowOpen() {

              IWorkbenchWindowConfigurer configurer = getWindowConfigurer();

              configurer.setInitialSize(new Point(400, 300));

              configurer.setShowCoolBar(false);

              configurer.setShowStatusLine(false

转载请注明: Eclipse RCP 系统任务栏 | 君子?流氓?

原创粉丝点击