Java TrayIcon.displayMessage()在Windows XP上不工作

Java TrayIcon.displayMessage()在Windows XP上不工作,java,windows,swing,system-tray,Java,Windows,Swing,System Tray,我正在编写一个在系统托盘中运行的应用程序,并在发生某些事情时通知用户(即使其中一个气泡弹出)。唯一的问题是,这些通知似乎只在Windows 7上有效,而在Windows XP上无效 我已经在2台Windows7计算机(它们都工作过)和4台WindowsXP计算机(它们都没有工作过)上测试过它。没有显示通知气泡,并且(据我所知)没有抛出异常,其他一切都正常工作。我甚至在Mac电脑上测试过,效果不错,但不太好看 这是我的代码示例 private static TrayIcon trayIcon; .

我正在编写一个在系统托盘中运行的应用程序,并在发生某些事情时通知用户(即使其中一个气泡弹出)。唯一的问题是,这些通知似乎只在Windows 7上有效,而在Windows XP上无效

我已经在2台Windows7计算机(它们都工作过)和4台WindowsXP计算机(它们都没有工作过)上测试过它。没有显示通知气泡,并且(据我所知)没有抛出异常,其他一切都正常工作。我甚至在Mac电脑上测试过,效果不错,但不太好看

这是我的代码示例

private static TrayIcon trayIcon;
...
trayIcon = new TrayIcon(trayImage.getImage());
...
if (!SystemTray.isSupported())
{
    System.out.println("SystemTray is not supported");
    return;
}
final PopupMenu popup = new PopupMenu();
final SystemTray tray = SystemTray.getSystemTray();
trayIcon.setToolTip("Widget Name Here [" + role + "]");
...
try
{
    tray.add(trayIcon);
}
catch (AWTException e)
{
    System.err.println("TrayIcon could not be added.");
    return;
}
...
//Here's where it doesn't work on XP
trayIcon.displayMessage("Connection error",
                "Could not connect to server, please check your internet/VPN "
                + "connection", TrayIcon.MessageType.ERROR);
任何帮助都将不胜感激


更新:好的,我刚刚确认这不是我的程序的问题,而是我一直在测试的XP安装的问题。我运行了在XP计算机上找到的TrayIconDemo.java程序,但没有任何通知起作用。我开始觉得我没办法让它在这些计算机上运行…

我有Windows XP,正在使用系统托盘应用程序。我刚刚添加了
displayMessage()
,对我来说效果很好。尽量简化你的应用程序。我相信它会起作用的。找到一个bug。

编辑:您没有提到JRE版本
System try required Java6

这应该是注释,但这是对字符长度的限制


可能还有另一个原因,当AD或ZenWorks的一些管理工具发布Java更新时,有时(在win7/Xp上)需要卸载所有Java安装并手动安装新的JRE(但稳定的1.6.022我的视图),软件发布会无误结束,但所有(?????)来自Java6的类/方法/更改不可访问,部分(RowSorter等)测试以错误结束,我从未在MS、Novell上搜索已知错误…

好的,所以我终于找到了问题的解决方案。事实证明,在我测试的安装上,以下键默认设置为
0
(false):

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\EnableBalloonTips

要启用通知气泡,只需将该值设置为
1

感谢您的响应,我以前也遇到过类似的问题,除了通知在Windows 7上无明显原因停止工作之外。我只是通过恢复到我知道有效的程序的早期版本来修复它。我一直没能找出是什么问题阻止了它们的出现。我只是希望我不必为了弄清楚这一点而浪费数周的时间:/经过进一步的调查,似乎是操作系统本身造成了问题(到目前为止,我尝试过的所有XP计算机都是一种特殊的企业安装)。似乎操作系统实际上没有显示任何类型的弹出通知,我多次听到Windows Update之类的Windows“弹出”通知声音,但没有出现气泡。我想现在唯一要做的就是在非企业XP安装上试用它,然后看看它是否能正常工作。是的,我已经确认我的程序没有问题。请参阅问题中的更新。从何处可以设置值?请帮帮我。