该测试得到了软件界面缩小或关闭时会弹到系统右下角托盘中,得到提示,右键选择关闭或显示。
//在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);
}
}