无论如何在Java中显示一个类似于TrayIcon.displayMessage()的自定义表单?

时间:2009-06-28 17:47:07

标签: java windows linux system-tray

使用Java无论如何都要显示一个与TrayIcon.displayMessage()函数类似的自定义表单/图像,因为它显示在系统托盘上方一段时间然后消失了?

我也在寻找一种同时显示多个通知的方法,让它们显示在彼此之上。

如果没有,如何在系统托盘正上方找到左下角的像素位置?

2 个答案:

答案 0 :(得分:0)

我认为绘制框架的快捷方式不像标准的TrayIcons(角落里有x按钮),支持堆叠类似于Mac Growl通知。
你可能要自己实施它。
我发现堆叠这样的消息完全是浪费时间,因为用户不会注意它们 - 这些消息在一个简单的弹出菜单中位于应用程序的状态区域。 您可以使用java.awt.GraphicsEnvironment。 getLocalGraphicsEnvironment()获取有关桌面的信息,其中包含“getMaximumWindowBounds()”,用于处理任务栏位置等事项。
您可以使用javax.swing.JWindow的子类创建一个没有边框的窗口,该窗口可以相对于右下角放置在桌面上。这并不总是作为默认托盘图标,因为图标生成器的位置可以是除此之外的其他位置。 您可以添加一个类似于标准桌面窗口的“x”按钮的按钮 - 但它将取决于平台。
如果我使用LTR,我使用从右上角堆叠的方形窗口,它似乎运行良好。

答案 1 :(得分:0)

去看看Java GNOME。它具有GTK的Java绑定,包括托盘的status icon和通知事件。