@Test public void testTray(){ Display display= new Display(); Shell topShell= new Shell(display); Tray tray=display.getSystemTray(); if (tray== null ) { System.out.println( "不支持" ); return ; } //设置系统托盘的工作项,显示在右下角的东西 TrayItem trayItem= new TrayItem(tray, SWT.NONE); //可以带“/”,表示从类的根路径,否则从相应的.class文件开始 // MenuDemo.class.getResourceAsStream(""); //总是从类的根路径 // MenuDemo.class.getClassLoader().getResourceAsStream(""); // trayItem.setImage(display.getSystemImage(id)) //设置工作项的图标,否则不显示 trayItem.setImage( new Image(display, this .getClass().getResourceAsStream( "tray.gif" ))); final Menu menu= new Menu(topShell,SWT.POP_UP); MenuItem a= new MenuItem(menu, SWT.PUSH); a.setText( "在线更新" ); MenuItem b= new MenuItem(menu, SWT.PUSH); b.setText( "关于我们" ); menu.setDefaultItem(a); //颜色更黑 Listener listener= new Listener() { @Override public void handleEvent(Event event) { if (event.type==SWT.DefaultSelection) { System.out.println( "双击" ); menu.setVisible( true ); } else if (event.type==SWT.MenuDetect) { System.out.println( "MenuDetect" ); menu.setVisible( true ); } else if (event.type==SWT.Show) { System.out.println( "显示托盘项" ); } else if (event.type==SWT.Selection) { //单击 System.out.println( "单击托盘项" ); } else if (event.type==SWT.Hide) { System.out.println( "隐藏托盘项" ); } } }; //给工作项设置监听 trayItem.addListener(SWT.DefaultSelection, listener); //双击托盘项 trayItem.addListener(SWT.MenuDetect, listener); //右击托盘项 trayItem.addListener(SWT.Show, listener); trayItem.addListener(SWT.Selection, listener); trayItem.addListener(SWT.Hide, listener); topShell.pack(); topShell.open(); while (!topShell.isDisposed()){ if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); } |