在VC和.NET中实现系统托盘图标都很容易,可以直接使用系统api实现,在java中要实现系统托盘就不是一件容易的事了,之前曾经在网上看到有人也调用windows的api函数实现了系统托盘,真是强人,其实在jdk1.6中新增了一个用于实现系统托盘的类java.awt.SystemTray,这样java也可以方便的使用系统托盘了,下面是一个例子:
public
void
systemTray()
... {
try
...{
if (java.awt.SystemTray.isSupported())
...{// 判断当前平台是否支持系统托盘
java.awt.SystemTray st = java.awt.SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage(
getClass().getResource("/trans/resourses/ipmsg.gif"));//定义托盘图标的图片
java.awt.TrayIcon ti = new java.awt.TrayIcon( image);
ti.setToolTip ( "文件传输工具 ");
ti.setPopupMenu ( this.popupMenu1); //为托盘添加右键菜单
st.add(ti);
}
}
catch (Exception e)
...{
}
}
... {
try
...{
if (java.awt.SystemTray.isSupported())
...{// 判断当前平台是否支持系统托盘
java.awt.SystemTray st = java.awt.SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage(
getClass().getResource("/trans/resourses/ipmsg.gif"));//定义托盘图标的图片
java.awt.TrayIcon ti = new java.awt.TrayIcon( image);
ti.setToolTip ( "文件传输工具 ");
ti.setPopupMenu ( this.popupMenu1); //为托盘添加右键菜单
st.add(ti);
}
}
catch (Exception e)
...{
}
}
唯一的缺点是现在大部分人使用的还是jre1.5及一下版本,在很多机器上不能执行,但已经是一个很大的进步了。