天天看點

JAVAGUI

該測試得到了軟體界面縮小或關閉時會彈到系統右下角托盤中,得到提示,右鍵選擇關閉或顯示。

//在createContents(){内添加 createTray();}

public void createTray(){

//泡泡型提示

final ToolTip tip=new ToolTip(shell,SWT.BALLOON | SWT.ICON_INFORMATION);//建立托盤項

sgw=shell.getDisplay().getSystemTray();//确定系統托盤對象

if(sgw!=null){//判斷系統托盤對象是否為空

final TrayItem tt=new TrayItem(sgw,SWT.NONE);//建立托盤項

tt.setToolTipText("sgw的托盤第一次測試!");//托盤提示文字

tt.setImage(new Image(shell.getDisplay(),"D:\\辦公檔案\\eclipse\\mycode\\NewToolBar\\src\\cn\\image\\image\\1.ICO"));

//添加托盤圖示

tt.setToolTip(tip);//為托盤項建立彈出式菜單

final Menu mu=new Menu(shell,SWT.POP_UP);//建立托盤項彈出菜單

final MenuItem mi=new MenuItem(mu,SWT.PUSH);//建立顯示或隐藏菜單項

mi.setText("躲着&H");//設定菜單項文本

mi.addSelectionListener(new SelectionAdapter(){//顯示或隐藏菜單項選擇監聽器

public void widgetSelected(SelectionEvent e){

boolean mf=shell.isVisible();//菜單項是否可見

shell.setVisible(!mf);

mi.setText(mf?"出來&W":"躲着&H");

tip.setText("sgw的托盤圖示");

tip.setMessage("右鍵選擇圖示,可彈出我的選擇菜單");

tip.setVisible(true);

//如果窗體是顯示的,則菜單項為隐藏;如果窗體是隐藏的,則菜單項顯示;

}

});

MenuItem me=new MenuItem(mu,SWT.PUSH);

me.setText("離開&X");

me.addSelectionListener(new SelectionAdapter(){

public void widgetSelected(SelectionEvent e){

shell.dispose();

}

});

tt.addSelectionListener(new SelectionAdapter(){

public void widgetDefaultSelected(SelectionEvent arg0){

shell.setVisible(!shell.isVisible());

}

public void widgetSelected(SelectionEvent arg0){

}

});

tt.addMenuDetectListener(new MenuDetectListener(){

public void menuDetected(MenuDetectEvent arg0){

mu.setVisible(true);

}

});

shell.addShellListener(new ShellAdapter(){

public void shellClosed(ShellEvent e){

super.shellClosed(e);

e.doit=false;

shell.setVisible(false);

mi.setText("出來&W");

tip.setText("sgw的托盤圖示");

tip.setMessage("右鍵選擇圖示,可彈出我的選擇菜單");

tip.setVisible(true);

}

public void shellIconified(ShellEvent e){

super.shellIconified(e);

shellClosed(e);

}

});

}

else{

tip.setText("你不支援托盤效果");

tip.setLocation(400,400);

}

}