文章来源:http://www.blogjava.net/lzqdiy/archive/2007/05/13/117086.html
Tags: javajava | windowwindow
2007-5-13 15:18:22 | 编辑
用Java在系统托盘区创建一个托盘的方法
大家用过QQ吧?(呵呵,我这是废话!)当你等录成功后,你的任务栏的右下角就会出现一个小企鹅的图标,它就是在系统托盘区的一个托盘。前几天我做了一个QQ2006的个人设置的界面,大家给我提出了很多建设性的意见,我在这里由衷地感谢大家。今天我学习JDK1.6新特性的时候,偶然发现了JDK1.6中的java.awt.SystemTray,使用这个类就可以在系统托盘区创建一个托盘程序,我如获至宝,我何不在我原来程序的基础上在更进一步——为我的程序添加一个系统托盘呢!经过我的试验,呵呵,我的小企鹅终于出现了。
我将http://www.blogjava.net/lzqdiy/archive/2007/05/07/115756.html的源程序中的QQ类中的main方法更改如下:
public static void main(String[] args)
{
try
{
if (SystemTray.isSupported())
{// 判断当前平台是否支持系统托盘
st = SystemTray.getSystemTray();
java.awt.Image image = Toolkit.getDefaultToolkit().getImage(
"qq.gif");//定义托盘图标的图片
PopupMenu pm = new PopupMenu();//创建右键菜单
MenuItem changeUserMenu = new MenuItem("更改用户");
changeUserMenu.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("更改用户!");
}
});
MenuItem exitMenu = new MenuItem("退出");
exitMenu.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
});
pm.add(changeUserMenu);
pm.add(exitMenu);
TrayIcon ti = new TrayIcon(image, "QQ 176870965", pm);
st.add(ti);
}
QQ window = new QQ();
window.open();
} catch (Exception e)
{
e.printStackTrace();
}
}
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;运行的效果: