我想在窗口关闭时将应用程序添加到系统托盘(类似于 Google Talk 应用程序)。然后,当我单击系统托盘中的打开图标时,应用程序窗口再次变为 Activity 状态。我怎样才能在Java中做到这一点?
final SystemTray tray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage("images.jpg");
final TrayIcon trayIcon = new TrayIcon(image);
try {
SystemTray.getSystemTray().add(trayIcon);
} catch (AWTException e2) {
e2.printStackTrace();
}
this.addWindowStateListener(new WindowStateListener() {
public void windowStateChanged(WindowEvent e) {
if (e.getNewState() == EXIT_ON_CLOSE) {
trayIcon.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
setVisible(true);
}
});
setVisible(false);
}
}
});
最佳答案
您已正确设置DefaultCloseOperations
myFrame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE)
此代码行与 myFrame.setVisible(false)
相同,然后从 JPopupMenu
恢复 JFrame
仅调用 myFrame.setVisible(true)
关于java - 如何将应用程序添加到系统托盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9701852/