<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    vjame

    優化代碼是無止境的
    隨筆 - 65, 文章 - 9, 評論 - 26, 引用 - 0
    數據加載中……

    SWT系統托盤

    SWT中使用Tray和TrayItem這兩個類來創建系統托盤和系統托盤項。
      //為該系統托盤項注冊事件
      item.addListener( SWT.Show, listner ); //系統托盤顯示
      item.addListener( SWT.Hide , listner );//系統托盤隱藏
      item.addListener( SWT.Selection , listner );//系統托盤單擊選中
      item.addListener( SWT.DefaultSelection , listner );//系統托盤雙擊選中
      item.addListener( SWT.MenuDetect , listner );//系統托盤右擊事件

    package com.strongit.bridge.mainframe;

    import org.eclipse.swt.SWT;
    import org.eclipse.swt.events.SelectionAdapter;
    import org.eclipse.swt.events.SelectionEvent;
    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.Shell;
    import org.eclipse.swt.widgets.Tray;
    import org.eclipse.swt.widgets.TrayItem;


    import com.strongit.bridge.common.filepath.FilePath;
    import com.strongit.bridge.common.swtdesigner.SWTResourceManager;
    import com.strongit.bridge.common.util.ImageFactory;



    public class TraySample {

        
    public static void main(String[] args) {
            Display display 
    = new Display();
            
    final Shell shell = new Shell(display);
            
    // 創建系統托盤
            final Tray tray = display.getSystemTray();
            
    // 如果系統不支持托盤部件
            if (tray == null) {
                System.out.println(
    "該系統不支持系統托盤");
                
    return;
            }
            
    final Menu trayMenu = createTrayMenu(display, shell);
            
    // 創建系統托盤的工作項
            final TrayItem item = new TrayItem(tray, SWT.NONE);
            item.setToolTipText(
    "這是一個TrayItem");
            
    //設置顯示系統托盤項的圖標,顯示在桌面的右下角
            item.setImage(SWTResourceManager.getImage(TraySample.class,
                    FilePath.IMAGE_PATH 
    +ImageFactory.SAMPLES));
            
    //集中處理事件
            Listener listner = new Listener(){

                
    public void handleEvent(Event event) {
                    
                    
    if ( event.type==SWT.Show )//當顯示系統托盤時
                        System.out.println("顯示");
                    
    else if ( event.type==SWT.Hide )//當隱藏系統托盤時
                        System.out.println("隱藏");
                    
    else if  ( event.type==SWT.Selection )//當單擊系統托盤時
                        System.out.println("選中");
                    
    else if ( event.type==SWT.DefaultSelection )//當雙擊系統托盤時
                        System.out.println("默認選中");
                    
    else if ( event.type==SWT.MenuDetect )//當右擊系統托盤時
                        trayMenu.setVisible(true);//設置菜單為顯示狀態
                }
                
            };
            
    //為該系統托盤項注冊事件
            item.addListener( SWT.Show, listner );
            item.addListener( SWT.Hide , listner );
            item.addListener( SWT.Selection , listner );
            item.addListener( SWT.DefaultSelection , listner );
            item.addListener( SWT.MenuDetect , listner );
            shell.pack();
            shell.open();
            
    while (!shell.isDisposed()) {
                
    if (!display.readAndDispatch())
                    display.sleep();
            }
            ImageFactory.dispose();
            display.dispose();

        }

        
    private static Menu createTrayMenu(Display display, final Shell shell) {
            
    // 定義一個彈出式菜單,使用常量SWT.POP_UP
            final Menu trayMenu = new Menu(shell, SWT.POP_UP);
            
    // 定義菜單中的菜單項
            MenuItem welcomeItem = new MenuItem(trayMenu, SWT.PUSH);
            welcomeItem.setText(
    "歡迎");
            welcomeItem.setImage(SWTResourceManager.getImage(TraySample.
    class,
                    FilePath.IMAGE_PATH 
    +ImageFactory.ECLIPSE));

            
    new MenuItem(trayMenu, SWT.SEPARATOR);

            MenuItem updatetem 
    = new MenuItem(trayMenu, SWT.PUSH);
            updatetem.setText(
    "在線更新");
            updatetem.addSelectionListener(
    new SelectionAdapter() {
                
    public void widgetSelected(SelectionEvent arg0) {
                    System.exit(
    -1);
                    ImageFactory.dispose();
                }
            });

            MenuItem aboutItem 
    = new MenuItem(trayMenu, SWT.PUSH);
            aboutItem.setText(
    "關于我們");
            aboutItem.setImage(SWTResourceManager.getImage(TraySample.
    class,
                    FilePath.IMAGE_PATH 
    +ImageFactory.SAMPLES));

            trayMenu.setDefaultItem(welcomeItem);
            
    return trayMenu;
        }

    }

    posted on 2009-01-16 20:34 lanjh 閱讀(496) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 99精品视频免费在线观看| 好湿好大好紧好爽免费视频 | 鲁死你资源站亚洲av| 亚洲国产精品尤物yw在线| 亚洲人成网站免费播放| 插B内射18免费视频| 亚洲国产精品无码久久| 国产成人精品免费视频大全五级| 亚洲狠狠婷婷综合久久| 国产美女无遮挡免费网站| 无人视频免费观看免费视频| jzzjzz免费观看大片免费| 亚洲无码视频在线| 国产免费一区二区三区不卡| 久久久久国色AV免费看图片| 伊人久久五月丁香综合中文亚洲| 成人au免费视频影院| 色费女人18女人毛片免费视频| 亚洲成人国产精品| 精品国产污污免费网站| 亚洲精品在线播放视频| 日韩免费视频播播| 老司机精品免费视频| 亚洲精品无码久久毛片波多野吉衣 | 爱爱帝国亚洲一区二区三区| 国产小视频免费观看| 久久久久女教师免费一区| 亚洲综合在线观看视频| 国产免费伦精品一区二区三区| 亚洲精品乱码久久久久久久久久久久| 午夜无码A级毛片免费视频| 亚洲一区二区三区久久| 亚洲第一区精品观看| 色欲色香天天天综合网站免费 | 自拍偷自拍亚洲精品偷一| 精品国产香蕉伊思人在线在线亚洲一区二区 | 日韩精品内射视频免费观看| 国产亚洲精aa在线看| 久久精品国产亚洲一区二区| 欧美大尺寸SUV免费| 好猛好深好爽好硬免费视频|