我正在编写一个利用 JavaTrayIcon
类的应用程序,但我似乎无法让它在 Windows XP/Vista 上显示消息。这是一个已知问题还是我遗漏了什么?(消息在 Windows 7 上应有的显示)
代码:
public class SysTray {
public static void main(String[] args) throws Exception {
TrayIcon icon = new TrayIcon(getImage());
icon.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "Good");
}
});
SystemTray.getSystemTray().add(icon);
icon.displayMessage("Attention", "Please click here",
TrayIcon.MessageType.WARNING);
}
private static Image getImage() throws HeadlessException {
Icon defaultIcon = MetalIconFactory.getTreeHardDriveIcon();
Image img = new BufferedImage(defaultIcon.getIconWidth(),
defaultIcon.getIconHeight(), BufferedImage.TYPE_4BYTE_ABGR);
defaultIcon.paintIcon(new Panel(), img.getGraphics(), 0, 0);
return img;
}
}
编辑:计算机都使用最新版本的 Java
编辑二:在各种计算机上的测试结果:
- Windows XP,J7_25 (1.7.0_25-b16):工作
- Windows 7,J7_25 (1.7.0_25-b17):工作
- Windows XP、J7_25 (1.7.0_25-b17):不工作