swt 简单的托盘程序

swt 简单的托盘程序
java写和操作系统相关的程序难度非常大。在java 6出现之前,如果你想实现一个托盘程序,最简单的就是用swt了。
通过google我找到了一段代码。
其实很简单。主要的代码如下:
             final Tray tray = display.getSystemTray();
            final TrayItem trayItem = new TrayItem(tray, SWT.NONE);
            Image image = new Image (display, 16, 16);
            trayItem.setImage(image);
知道了重点,事情变的很简单了。看看所有程序
//-----------------
public class SystemTray extends Shell {
    public static void main(String args[]) {
        try {
            Display display = Display.getDefault();
            SystemTray shell = new SystemTray(display, SWT.SHELL_TRIM);
           // shell.createSystemTray(shell);
            final Tray tray = display.getSystemTray();
            final TrayItem trayItem = new TrayItem(tray, SWT.NONE);
            Image image = new Image (display, 16, 16);
            trayItem.setImage(image);
            shell.open();
            shell.layout();
            while (!shell.isDisposed()) {
                if (!display.readAndDispatch())
                    display.sleep();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public SystemTray(Display display, int style) {
        super(display, style);
        createContents();
    }

    /**
     * Create contents of the window
     */
    protected void createContents() {
        setText("SWT Application");
        setSize(500, 375);

    }
    //swt 默认情况下不允许shell被继承
    //所以我重载了父类的方法
    protected void checkSubclass() {
         }
}
//--------------------
如果你想成功运行以上代码,你最好在eclipse下新建一个swt的类。具体操作你搜索一下吧。
但是上面的代码只是加入了托盘,这可能是最简单的实现托盘的程序了。我们加入事件处理,让程序能够最大和最小化。然后把托盘用图片来表示。
详细的代码不参考 下载 到eclipse里运行 
 

你可能感兴趣的:(swt 简单的托盘程序)