用Java实现系统托盘

用Java实现系统托盘,java,layout,system-tray,Java,Layout,System Tray,我已通过执行将程序设置为显示在系统托盘中。我的第一个问题是关于图标。我的系统托盘里有很多程序,我的程序被隐藏了。我可以让它显示在栏中而不需要点击托盘中的箭头吗 我还发现可以通过调用trayIcon.displayMessage(标题、内容、图标)来显示消息。我想知道我是否可以像Skype那样改变气球的外观 或者我需要使用其他方式来显示消息吗?它应该始终出现在所有应用程序的前面,并且不应该妨碍其他应用程序。例如,如果用户正在玩游戏,信息对话框不应窃取鼠标和键盘的焦点。不,您不能使用java sy

我已通过执行将程序设置为显示在系统托盘中。我的第一个问题是关于图标。我的系统托盘里有很多程序,我的程序被隐藏了。我可以让它显示在栏中而不需要点击托盘中的箭头吗

我还发现可以通过调用
trayIcon.displayMessage(标题、内容、图标)
来显示消息。我想知道我是否可以像Skype那样改变气球的外观


或者我需要使用其他方式来显示消息吗?它应该始终出现在所有应用程序的前面,并且不应该妨碍其他应用程序。例如,如果用户正在玩游戏,信息对话框不应窃取鼠标和键盘的焦点。

不,您不能使用java systray机制更改阳台的样式。Skype不使用java机制来显示systray。系统任务是设计和显示阳台

要显示您的图标,它是一个windows配置-当您单击箭头时,有一个“自定义”链接,您可以在其中配置显示哪些图标


如果希望影响窗口的样式,则需要实现自定义框架,该框架感觉和定位类似于systray info窗口。而且您不会使用托盘类。

关于您关于蒙皮的问题。无法以任何方式自定义SystemTray displayMessage balloon。

谢谢您的回答。如果我想在右下角绘制自定义弹出警报,我需要知道什么?你有什么线索可以告诉我要找什么吗?顺便说一句,当你全屏显示时,SystemTray方式不起作用。我会尝试在右下角显示一个JFrame。所以我会搜索如何得到这些坐标。不幸的是,除非您自己绘制图形组件,否则它看起来总是像一个摆动框架。但它不会干扰其他应用程序吗?或者有没有办法打开JFrame而不通过键盘和鼠标获得焦点?此外,打开JFrame将被视为一个程序,状态栏将弹出并开始闪烁。是的,那么swing JFrame不是解决方案。也许另一个框架提供了这个,我以前没有做过,对不起。