用java做个带任务栏托盘的程序该如何做 有谁做过啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用java6的话很容易。提供了SystemTray类和TrayIcon类。SystemTray tray=SystemTray.getSystemTray();//得到系统托盘对象建立自己的TrayIcon对象,并加入事件处理方法。把这个对象加入到tray中。 直接看api说明就可以了,没几句代码。我现在的环境是jdk5,没法给你写测试代码。 貌似Java6有支持。其它低版本的JDK只能使用JNI实现了 /** * create a tray , * @throws ServiceException * @throws InitException */ public void createTray() throws InitException, ServiceException { _tray = _display.getSystemTray(); _menuPopUpPane = new BottomMenuPopUpPane(_shell); if (_tray == null) { LOG.info("System not support tray"); System.out.println("System not support tray"); } else { LOG.info("Begin to create Tray "); final TrayItem item = new TrayItem(_tray, SWT.POP_UP); item.setToolTipText("布谷鸟");// item.setText("cuckoo"); item.setImage(SWTResourceManager .getImage(Image.class,"image/cuckoo.ico")); item.addListener(SWT.Selection, new Listener() { public void handleEvent(Event arg0) { // TODO Auto-generated method stub if (!_shell.isVisible()) { _shell.setVisible(true); _shell.setMinimized(false); _shell.setActive(); } else { /** visible main menu */ _shell.setMinimized(true); _shell.setVisible(false); _shell.forceActive(); } } }); item.addListener(SWT.MenuDetect, new Listener(){ public void handleEvent(Event arg0) { // TODO Auto-generated method stub _menuPopUpPane.getPopUpMenu().setVisible(true); } }); /* * item.addListener(SWT.Show, new Listener(){ public void * handleEvent(Event arg0) { // TODO Auto-generated method stub * _shell.setVisible(true); _shell.setMinimized(false); * _shell.setActive(); } }); item.addListener(SWT.Hide, new * Listener(){ public void handleEvent(Event arg0) { // TODO * Auto-generated method stub _shell.setVisible(true); * _shell.setMinimized(false); _shell.setActive(); } }); */ } }--------------------------------------------------------------------Quietly through .... SWT -------------------------------------------------Quietly through .... 两个线程的小程序,但不知哪里出错了。大家顺便能解释一下吗?? 想从1/2格式的输入中读入数字 我这回是做第二次ejb项目了,竟不知道它比纯java好在哪里? 关于reflect机制?! applet能调用页面中的css吗? 怎么迈开我JAVA第一步伐? GC会回收常量池里面的内容吗? 关于JFrame中的setSize方法的疑问 在浏览器向web server提交信息时,form中text字段内的字符串是采用什么方式编码的 sessionBean可以,而entityBean却部可以?? 如何情况Table中的内容! 如何截取程序的部分?
提供了SystemTray类和TrayIcon类。
SystemTray tray=SystemTray.getSystemTray();//得到系统托盘对象
建立自己的TrayIcon对象,并加入事件处理方法。
把这个对象加入到tray中。
我现在的环境是jdk5,没法给你写测试代码。
其它低版本的JDK只能使用JNI实现了
* create a tray ,
* @throws ServiceException
* @throws InitException
*/
public void createTray() throws InitException, ServiceException {
_tray = _display.getSystemTray();
_menuPopUpPane = new BottomMenuPopUpPane(_shell);
if (_tray == null) {
LOG.info("System not support tray");
System.out.println("System not support tray");
} else {
LOG.info("Begin to create Tray ");
final TrayItem item = new TrayItem(_tray, SWT.POP_UP);
item.setToolTipText("布谷鸟");
// item.setText("cuckoo");
item.setImage(SWTResourceManager
.getImage(Image.class,"image/cuckoo.ico"));
item.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event arg0) {
// TODO Auto-generated method stub
if (!_shell.isVisible()) {
_shell.setVisible(true);
_shell.setMinimized(false);
_shell.setActive();
} else {
/** visible main menu */
_shell.setMinimized(true);
_shell.setVisible(false);
_shell.forceActive();
}
}
});
item.addListener(SWT.MenuDetect, new Listener(){
public void handleEvent(Event arg0) {
// TODO Auto-generated method stub
_menuPopUpPane.getPopUpMenu().setVisible(true);
}
});
/*
* item.addListener(SWT.Show, new Listener(){ public void
* handleEvent(Event arg0) { // TODO Auto-generated method stub
* _shell.setVisible(true); _shell.setMinimized(false);
* _shell.setActive(); } }); item.addListener(SWT.Hide, new
* Listener(){ public void handleEvent(Event arg0) { // TODO
* Auto-generated method stub _shell.setVisible(true);
* _shell.setMinimized(false); _shell.setActive(); } });
*/
}
}--------------------------------------------------------------------
Quietly through ....
-------------------------------------------------
Quietly through ....