swt 托盘显示
package Hello; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.ShellAdapter; import org.eclipse.swt.events.ShellEvent; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Display; 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.MessageBox; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.ToolTip; import org.eclipse.swt.widgets.Tray; import org.eclipse.swt.widgets.TrayItem; public class TrayTest { public TrayTest() { final Display d = new Display(); final Shell s = new Shell(d); s.setText("TrayTest"); s.setImage(new Image(d, "img/lei.jpg")); final Menu menu = new Menu(s, SWT.POP_UP); final MenuItem exitItem = new MenuItem(menu, SWT.PUSH); exitItem.setText("退出"); exitItem.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { MessageBox box = new MessageBox(s, SWT.YES | SWT.NO | SWT.ICON_QUESTION); box.setMessage("您真的退出么"); int response = box.open(); if (response == SWT.YES) { System.exit(0); } } }); final ToolTip toolTip = new ToolTip(s, SWT.BALLOON); toolTip.setMessage("呵呵,我在这里呢!"); toolTip.setText("提示信息"); final Tray tray = d.getSystemTray(); TrayItem trayItem = new TrayItem(tray, SWT.NONE); trayItem.setImage(new Image(d, "img/vx-01.gif")); trayItem.setToolTip(toolTip); trayItem.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { if (s.getVisible() == true) { s.setVisible(false); toolTip.setVisible(true); } else { s.setVisible(true); s.setActive(); } } }); trayItem.addListener(SWT.MenuDetect, new Listener() { public void handleEvent(Event e) { menu.setVisible(true); } }); s.addShellListener(new ShellAdapter() { public void shellIconified(ShellEvent e) { toolTip.setVisible(true); } }); s.open(); while (!s.isDisposed()) { if (!d.readAndDispatch()) d.sleep(); } d.dispose(); } public static void main(String[] args) { // TODO 自动生成方法存根 new TrayTest(); } }
?