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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值