读书人

swt 托盘展示

发布时间: 2012-10-10 13:58:11 作者: rapoo

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();           }       }    

?

读书人网 >编程

热点推荐