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

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

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

    vjame

    優(yōu)化代碼是無(wú)止境的
    隨筆 - 65, 文章 - 9, 評(píng)論 - 26, 引用 - 0
    數(shù)據(jù)加載中……

    SWT系統(tǒng)托盤(pán)

    SWT中使用Tray和TrayItem這兩個(gè)類(lèi)來(lái)創(chuàng)建系統(tǒng)托盤(pán)和系統(tǒng)托盤(pán)項(xiàng)。
      //為該系統(tǒng)托盤(pán)項(xiàng)注冊(cè)事件
      item.addListener( SWT.Show, listner ); //系統(tǒng)托盤(pán)顯示
      item.addListener( SWT.Hide , listner );//系統(tǒng)托盤(pán)隱藏
      item.addListener( SWT.Selection , listner );//系統(tǒng)托盤(pán)單擊選中
      item.addListener( SWT.DefaultSelection , listner );//系統(tǒng)托盤(pán)雙擊選中
      item.addListener( SWT.MenuDetect , listner );//系統(tǒng)托盤(pán)右擊事件

    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);
            
    // 創(chuàng)建系統(tǒng)托盤(pán)
            final Tray tray = display.getSystemTray();
            
    // 如果系統(tǒng)不支持托盤(pán)部件
            if (tray == null) {
                System.out.println(
    "該系統(tǒng)不支持系統(tǒng)托盤(pán)");
                
    return;
            }
            
    final Menu trayMenu = createTrayMenu(display, shell);
            
    // 創(chuàng)建系統(tǒng)托盤(pán)的工作項(xiàng)
            final TrayItem item = new TrayItem(tray, SWT.NONE);
            item.setToolTipText(
    "這是一個(gè)TrayItem");
            
    //設(shè)置顯示系統(tǒng)托盤(pán)項(xiàng)的圖標(biāo),顯示在桌面的右下角
            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 )//當(dāng)顯示系統(tǒng)托盤(pán)時(shí)
                        System.out.println("顯示");
                    
    else if ( event.type==SWT.Hide )//當(dāng)隱藏系統(tǒng)托盤(pán)時(shí)
                        System.out.println("隱藏");
                    
    else if  ( event.type==SWT.Selection )//當(dāng)單擊系統(tǒng)托盤(pán)時(shí)
                        System.out.println("選中");
                    
    else if ( event.type==SWT.DefaultSelection )//當(dāng)雙擊系統(tǒng)托盤(pán)時(shí)
                        System.out.println("默認(rèn)選中");
                    
    else if ( event.type==SWT.MenuDetect )//當(dāng)右擊系統(tǒng)托盤(pán)時(shí)
                        trayMenu.setVisible(true);//設(shè)置菜單為顯示狀態(tài)
                }
                
            };
            
    //為該系統(tǒng)托盤(pán)項(xiàng)注冊(cè)事件
            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) {
            
    // 定義一個(gè)彈出式菜單,使用常量SWT.POP_UP
            final Menu trayMenu = new Menu(shell, SWT.POP_UP);
            
    // 定義菜單中的菜單項(xiàng)
            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(
    "關(guān)于我們");
            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) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲一区综合在线播放| 中文字幕精品三区无码亚洲| 最近免费中文字幕大全免费| 亚洲二区在线视频| 凹凸精品视频分类国产品免费| 福利免费在线观看| 亚洲乱码中文字幕小综合| 吃奶摸下高潮60分钟免费视频| 免费国产在线视频| 亚洲精品亚洲人成在线| 亚洲av日韩av激情亚洲| 成全影视免费观看大全二| 99精品视频在线观看免费| 久久精品国产亚洲αv忘忧草| www国产亚洲精品久久久日本| 亚洲免费人成视频观看| 国产99久久久国产精免费| 亚洲婷婷在线视频| 狠狠色伊人亚洲综合成人| 波多野结衣久久高清免费| 久草福利资源网站免费| 看免费毛片天天看| 羞羞视频在线免费观看| 国产亚洲综合久久系列| 免费又黄又硬又爽大片| 大地资源在线观看免费高清| 久操视频在线免费观看| 男人扒开添女人下部免费视频| 亚洲伊人久久大香线焦| 亚洲av伊人久久综合密臀性色 | 亚洲精品乱码久久久久久蜜桃图片 | 国产成人人综合亚洲欧美丁香花| 国产精品亚洲片在线观看不卡| 永久免费看bbb| 最近中文字幕2019高清免费| 黄桃AV无码免费一区二区三区 | 国产V片在线播放免费无码 | 91大神在线免费观看| 黄色网址免费在线观看| 国产亚洲精品欧洲在线观看| 亚洲中文字幕无码av永久|