import java.awt.Image;
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;
import java.awt.event.MouseEvent;
public class AddTrayIcon implements ActionListener {
/*
* 此类用于添加系统托盘 只需要将frame传递过来即可
*/
private MenuItem openItem;
private MenuItem exitItem;
public AddTrayIcon() {
addTrayIcon();
}
private void addTrayIcon() { // 添加系统图盘
if (SystemTray.isSupported()) { // 判断系统是否支持图盘
SystemTray tray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage(
"lib/images/Snake.jpg");
PopupMenu popup = new PopupMenu(); // 为托盘添加菜单
{
openItem = new MenuItem("打开 "); //PopupMenu没有像JPopupMenu一样直接实现设置大小的方法
openItem.addActionListener(this);
popup.add(openItem);
exitItem = new MenuItem("退出");
exitItem.addActionListener(this);
popup.add(exitItem);
}
TrayIcon trayIcon = new TrayIcon(image, "ACM图书管理系统", popup);
trayIcon.addMouseListener(new java.awt.event.MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
MainFrame.frame.setVisible(true);
}
}
});
try {
tray.add(trayIcon);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void actionPerformed(ActionEvent aet) {
if (aet.getSource() == openItem) { // 显示主界面
MainFrame.frame.setVisible(true);
}
if (aet.getSource() == exitItem) { // 退出系统
System.exit(0);
}
}
}
JavaSwing实现系统托盘
最新推荐文章于 2025-05-25 14:14:57 发布