Java のTrayIcon
クラスを利用するアプリケーションを作成していますが、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の最新バージョンを使用していました
編集 II: さまざまなコンピューターでのテストの結果:
- 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): 動作しません