Swing实现系统托盘

时间:2023-03-09 01:30:33
Swing实现系统托盘
/* 实现系统托盘化 */
protected void setToolSystemTray() {
// 系统是否支持系统托盘
if (SystemTray.isSupported()) { // 获取SystemTray系统托盘实例
SystemTray tray = SystemTray.getSystemTray(); // 加载图片
ImageIcon image = new ImageIcon(getClass().getClassLoader()
.getResource("titleImg/title_try.png"));
// 弹出式 菜单
PopupMenu popup = new PopupMenu(); // 创建关于菜单项
MenuItem aboutItem = new MenuItem("open");
aboutItem.addActionListener(new ActionListener(){ @Override
public void actionPerformed(ActionEvent e) {
jFrame.setVisible(true); } });
popup.add(aboutItem); // 创建退出菜单项
MenuItem exitItem = new MenuItem("exit");
exitItem.addActionListener(new ActionListener() { @Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
popup.add(exitItem);
// 构造托盘图标
trayIcon = new TrayIcon(image.getImage(), "Coder", popup);
// 鼠标事件
trayIcon.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) {
// 单击显示窗口
if (e.getClickCount() == 1) {
jFrame.setVisible(true);
}
}
}); // 添加托盘图标
try {
tray.add(trayIcon);
} catch (AWTException e1) {
e1.printStackTrace();
}
} else {
JOptionPane.showMessageDialog(null,
System.getProperty("os.version") + "系统不支持系统托盘!");
}
}