java swing 系统托盘

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java swing 系统托盘相关的知识,希望对你有一定的参考价值。

第一次可以 但是第二次的话 重新托盘 相当于 第一次的还在又重新托盘了 任务栏有两个托盘图标

这里有一个文件,是介绍java最小化到托盘里的!

你可以下载看看!
另外,虚机团上产品团购,超级便宜
参考技术A 这里有一个文件,是介绍java最小化到托盘里的!

你可以下载看看!
追问

哪里??

参考技术B TrayIcon?追问

我知道是TrayIcon 但是第一次系统托盘可以 我双击图标可以显示窗口
但是当我第二次 托盘时 任务栏出现连个 托盘图片

追答

那是因为你添加两次,发代码

追问

百度发不了 太多

http://hi.baidu.com/yu_liu_jian/blog/item/c6ba2e4ae5c407d0d0c86ace.html

追答

if (rs == 0)
try
icon = new ImageIcon(MySimpleWebBrowserExample.class
.getResource("img/min.gif")).getImage();
trayIcon = new TrayIcon(icon, "Java托盘", trayMenu());
systemTray.add(trayIcon);// 设置托盘的图标

// frame.setVisible(false);

// frame.setExtendedState(Frame.ICONIFIED);

catch (AWTException e2)
e2.printStackTrace();

把这个systemTray.add(trayIcon);// 设置托盘的图标
删除了

追问

删除了怎么那图标怎么显示啊??

本回答被提问者采纳

JavaFX:系统托盘

JavaFX:系统托盘

JavaFX视频教程第211课,制作系统托盘
GITHUB: dustinkredmond / FXTrayIcon

SystemTray 系统托盘

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

以上是关于java swing 系统托盘的主要内容,如果未能解决你的问题,请参考以下文章

求教javafx 做的系统托盘

java应用程序系统托盘的问题

JavaFX:系统托盘

ava SystemTray类(系统托盘)和TrayIcon类(托盘图标)

Java Robot 从 Windows 系统托盘启动

Java的。最小化到系统托盘