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

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

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

    kooyee ‘s blog

    開源軟件, 眾人努力的結(jié)晶, 全人類的共同財(cái)富
    posts - 103, comments - 55, trackbacks - 0, articles - 66
       :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    swt的system tray,只能處理三種事件:左鍵單擊,左鍵雙擊和右鍵雙擊,右鍵單擊
    這是我看swt 3.0.1 win32的源碼所知
    此demo有以下功能:
    1.左鍵單擊時(shí) ,隱藏,顯示主窗口
    2.右鍵單擊,彈出菜單

    注意:
    1.左鍵雙擊和右鍵雙擊是一種事件,無法區(qū)分
    2.左鍵雙擊將產(chǎn)生以下事件:左鍵單擊,左鍵雙擊,左鍵單擊
    3.關(guān)于彈出菜單,menu必須有一個(gè)parent,如果程序里沒有任何shell,可以建一個(gè)不可見的shell專門作為menu的parent.

    import org.eclipse.swt.*;
    import org.eclipse.swt.widgets.*;
    import org.eclipse.swt.events.*;
    import org.eclipse.swt.layout.FillLayout;
    import org.eclipse.swt.graphics.Image;

    class HelloTray implements SelectionListener{

    Display display;
    Shell shell;
    Button hello;
    Tray tray;
    TrayItem ti;
    Menu menu;
    MenuItem mi1;
    MenuItem mi2;
    MenuItem quit;

    public HelloTray(){
    display 
    = Display.getDefault();
    shell 
    = new Shell();

    FillLayout fillLayout 
    = new FillLayout();
    fillLayout.type 
    = SWT.VERTICAL;
    shell.setLayout(fillLayout);

    hello 
    = new Button(shell, SWT.NONE);
    hello.setText(
    "Hello World!");
       hello.addSelectionListener(
    new SelectionAdapter(){
    public void widgetSelected(SelectionEvent e){
           
    if(hello.getText().equals("Hello World!"))
             hello.setText(
    "Clicked");
           
    else
             hello.setText(
    "Hello World!");
    }
    });

    menu
    =new Menu(shell);
    mi1
    =new MenuItem(menu,SWT.PUSH);
    mi1.setText(
    "MenuItem 1");
    mi1.addSelectionListener(
    this);
    mi2
    =new MenuItem(menu,SWT.PUSH);
    mi2.setText(
    "MenuItem 2");
    mi2.addSelectionListener(
    this);
    quit
    =new MenuItem(menu,SWT.PUSH);
    quit.setText(
    "Quit");
    quit.addSelectionListener(
    this);

    //生成swt的tray
    tray=display.getSystemTray();
    ti
    =new TrayItem(tray,0);
    ti.setToolTipText(
    "This is a swt Tray!");
    ti.setImage(
    new Image(display,"E:\My Documents\My Pictures\alm.gif"));

    //swt,tray的所有事件:
    ti.addSelectionListener(new SelectionListener(){
    //左鍵單擊
    public void widgetSelected(SelectionEvent e){
    System.out.println(
    "Tray Selcted");
    //左鍵單擊時(shí) ,隱藏,顯示主窗口
    if(shell.isVisible()){
    shell.setVisible(
    false);
    }
    else{
    shell.setVisible(
    true);
    shell.forceActive();
    }
    }
    //左鍵雙擊,右鍵雙擊,都是它
    public void widgetDefaultSelected(SelectionEvent e){
    System.out.println(
    "Tray widgetDefaultSelected");
    }
    });
    //右鍵單擊,彈出菜單
    ti.addListener(SWT.MenuDetect,new Listener(){
    public void handleEvent(Event event){
    System.out.println(
    "SWT.MenuDetect");
    menu.setLocation(display.getCursorLocation());
           menu.setVisible(
    true);
    }
    });
    }

    public void start(){
    shell.open();
    while (!shell.isDisposed()) {
    if (!display.readAndDispatch())
    display.sleep();
    }
    display.dispose();
    }

    public static void main(String[] args) {
    HelloTray app
    =new HelloTray();
    app.start(); 
    }

    public void widgetSelected(SelectionEvent e){
    System.out.println(e.getSource()
    +" selected.");
    if(e.getSource()==quit){
    System.out.println(
    "Quit");
    display.dispose();
    System.exit(
    0);
    }
    }

    public void widgetDefaultSelected(SelectionEvent e){ 
    }
    }
    主站蜘蛛池模板: 亚洲av综合av一区二区三区| 国产免费无码AV片在线观看不卡| 亚洲av专区无码观看精品天堂| 在线观看AV片永久免费| 色噜噜综合亚洲av中文无码| 中文字幕人成无码免费视频| 黄色a三级三级三级免费看| 亚洲日本中文字幕区| 182tv免费视视频线路一二三| 亚洲国产欧美一区二区三区| 久久精品九九亚洲精品天堂| 男人j进入女人j内部免费网站 | 亚洲精品乱码久久久久久蜜桃图片| 亚洲精品成人网久久久久久| 国产午夜亚洲精品不卡免下载 | 亚洲成a人片在线观看无码| 好爽…又高潮了毛片免费看| 国产成人无码区免费内射一片色欲| 亚洲精品乱码久久久久久久久久久久 | 在线看片无码永久免费aⅴ| 在线观看人成视频免费无遮挡| 在线亚洲午夜片AV大片| 久久精品国产亚洲沈樵| 免费h黄肉动漫在线观看| 120秒男女动态视频免费| 国产精品免费一区二区三区| 亚洲人成网站18禁止| 久久精品国产精品亚洲毛片| 中文亚洲AV片在线观看不卡| 国产又大又长又粗又硬的免费视频| 在线看无码的免费网站| 中文字幕免费视频精品一| 综合一区自拍亚洲综合图区| 亚洲国产系列一区二区三区| 精品亚洲aⅴ在线观看| 狠狠色伊人亚洲综合成人| 亚洲 小说区 图片区 都市| 成全高清视频免费观看| 中字幕视频在线永久在线观看免费| 黄页免费在线观看 | 亚洲最大免费视频网|