Java创建系统托盘实现(swt和jdk6分别实现)

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

  由于jdk6之前并不支持

  所以使用swt

  jdk6可以支持了 建议使用jdk6的版本 因为它才是真正的跨平台

  swt

  Java代码

  import org.eclipse.swt.*;

  import org.eclipse.swt.graphics.*;

  import org.eclipse.swt.layout.FillLayout;

  import org.eclipse.swt.widgets.*;

  public class TrayBySwt {

  public static void main(String[] args) {

  Display display = new Display();

  final Shell shell = new Shell(display);

  shell.setText(“系统托盘BySwt”);

  shell.setLayout (new FillLayout());

  Button button = new Button(shell, SWT.PUSH);

  button.setText(“隐藏窗口显示托盘图标”);

  ImageData imageData = new ImageData(“E:\\workspace\\myeclipse66\\ra\\Tray\\src\\16.gif”);

  Image image = new Image(display, imageData);

  //取得系统托盘

  final Tray tray = display.getSystemTray();

  if (tray == null) {

  System.out.println(“当前操作系统不支持托盘图标”);

  } else {

  final TrayItem item = new TrayItem(tray, SWT.NONE);

  item.setToolTipText(“我是托盘图标”);

  item.addListener (SWT.Show, new Listener () {

  public void handleEvent (Event event) {

  System.out.println(“show”);

  }

  });

  item.addListener (SWT.Hide, new Listener () {

  public void handleEvent (Event event) {

  System.out.println(“hide”);

  }

  });

  item.addListener (SWT.Selection, new Listener () {

  public void handleEvent (Event event) {

  System.out.println(“selection”);

  }

  });

  final Menu menu = new Menu (shell, SWT.POP_UP);

  for (int i = 0; i < 8; i++) {

  MenuItem mi = new MenuItem (menu, SWT.PUSH);

  mi.setText (“Item” + i);

  mi.addListener (SWT.Selection, new Listener () {

  public void handleEvent (Event event) {

  System.out.println(“selection ” + event.widget);

  }

  });

  if (i == 0) menu.setDefaultItem(mi);

  }

  item.addListener (SWT.MenuDetect, new Listener () {

  public void handleEvent (Event event) {

  menu.setVisible (true);

  }

  });

  item.addListener(SWT.DefaultSelection, new Listener() {

  public void handleEvent(Event event) {

  shell.setVisible(true);

  item.setVisible(false);

  }

  });

  item.setImage(image);

  button.addListener(SWT.Selection, new Listener(){

  public void handleEvent(Event event) {

  shell.setVisible(false);

  item.setVisible(true);

  }

  });

  item.setVisible(false);

  }

  shell.setBounds(50, 50, 300, 200);

  shell.open();

  while (!shell.isDisposed()) {

  if (!display.readAndDispatch())

  display.sleep();

  }

  image.dispose();

  display.dispose();

  }

  }

[1][2]

从哪里跌倒就会从哪里爬起来,让我们一起努力吧

Java创建系统托盘实现(swt和jdk6分别实现)

相关文章:

你感兴趣的文章:

标签云: