package Hello;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.ShellAdapter;
import org.eclipse.swt.events.ShellEvent;
import org.eclipse.swt.graphics.Image;
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.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.ToolTip;
import org.eclipse.swt.widgets.Tray;
import org.eclipse.swt.widgets.TrayItem;
public class TrayTest {
public TrayTest() {
final Display d = new Display();
final Shell s = new Shell(d);
s.setText("TrayTest");
s.setImage(new Image(d, "img/lei.jpg"));
final Menu menu = new Menu(s, SWT.POP_UP);
final MenuItem exitItem = new MenuItem(menu, SWT.PUSH);
exitItem.setText("退出");
exitItem.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
MessageBox box = new MessageBox(s, SWT.YES | SWT.NO
| SWT.ICON_QUESTION);
box.setMessage("您真的退出么");
int response = box.open();
if (response == SWT.YES) {
System.exit(0);
}
}
});
final ToolTip toolTip = new ToolTip(s, SWT.BALLOON);
toolTip.setMessage("呵呵,我在这里呢!");
toolTip.setText("提示信息");
final Tray tray = d.getSystemTray();
TrayItem trayItem = new TrayItem(tray, SWT.NONE);
trayItem.setImage(new Image(d, "img/vx-01.gif"));
trayItem.setToolTip(toolTip);
trayItem.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if (s.getVisible() == true) {
s.setVisible(false);
toolTip.setVisible(true);
} else {
s.setVisible(true);
s.setActive();
}
}
});
trayItem.addListener(SWT.MenuDetect, new Listener() {
public void handleEvent(Event e) {
menu.setVisible(true);
}
});
s.addShellListener(new ShellAdapter() {
public void shellIconified(ShellEvent e) {
toolTip.setVisible(true);
}
});
s.open();
while (!s.isDisposed()) {
if (!d.readAndDispatch())
d.sleep();
}
d.dispose();
}
public static void main(String[] args) {
// TODO 自动生成方法存根
new TrayTest();
}
}