JavaFX视频教程第211课,制作系统托盘
GITHUB: dustinkredmond / FXTrayIcon
jdk中java.awt.SystemTray
SystemTray systemTray = SystemTray.getSystemTray();TrayIcon
这里使用 java awt 组件,注意Image图片路径处理
Image image = Toolkit.getDefaultToolkit().getImage(ResourceBundleUtil.getURL("img/xhbruce_csdn.jpg"));
String notifyStr = "JxhMusicPlayer";
PopupMenu menu = new PopupMenu();
MenuItem item = new MenuItem(ResourceBundleUtil.getString("exit"));
menu.add(item);
TrayIcon trayIcon = new TrayIcon(image, notifyStr, menu);
try {
systemTray.add(trayIcon);
} catch (AWTException e) {
}
其他逻辑
- stage上关闭默认“X”退出退出逻辑 Platform.setImplicitExit(false);
- 自定义隐藏不退出 stage.hide();
- trayIcon添加MouseListener监听e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1鼠标左键双击,注意需要Platform.runLater处理UI



