2012-05-05 30 views
2

バルーンメッセージをポップアップ表示させるためにシステムのアイコンを使ってみたいと思っていますが、そうではありません。これがコードです。単純なif文が実行されても何も起こらなければ、ポップアップが表示されます。システムトレイアイコンが表示され、左クリックするとメニューが表示されます。システムトレイのバルーンメッセージがJavaに表示されない

package systemtray; 

import java.awt.*; 
import java.awt.Toolkit; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

public class Systemtray { 

public static void main(String[] args) { 

    TrayIcon trayIcon = null; 
    if (SystemTray.isSupported()) { 
     // get the SystemTray instance 
     SystemTray tray = SystemTray.getSystemTray(); 
     // load an image 
     Image image = Toolkit.getDefaultToolkit().getImage("D:/xxx/facebook.jpg");   
     // create a action listener to listen for default action executed on the tray icon 
     ActionListener listener = new ActionListener() { 
      public void actionPerformed(ActionEvent e) { 
       // execute default action of the application 
      } 
     }; 

    // create a popup menu 
    PopupMenu popup = new PopupMenu(); 
    //create menu item for the default action 
    MenuItem defaultItem = new MenuItem("A menu item"); 
    defaultItem.addActionListener(listener); 
    popup.add(defaultItem); 
    /// ... add other items 
    // construct a TrayIcon*/ 
    trayIcon = new TrayIcon(image, "Tray Demo", popup); 


    int a = 0; 
    int b = 1; 
    if (a + b == 1){ 
    trayIcon.displayMessage("Message Title", 
     "Message Content", 
     TrayIcon.MessageType.INFO); 
    } 
    // set the TrayIcon properties 
    trayIcon.addActionListener(listener); 
    // ... 
    // add the tray image 
    try { 
     tray.add(trayIcon); 
    } catch (AWTException e) { 
     System.err.println(e); 
    } 
    // ... 
} else { 
    // disable tray option in your application or 
    // perform other actions 
} 
// ... 
// some time later 
// the application state has changed - update the image 
// if (trayIcon != null) { 
    // trayIcon.setImage(updatedImage); 
//} 
// ... 
} 
} 
+1

暗いところで撮影しますが、アイコンがトレイに追加される前にバルーンを表示しようとしています。トレイに追加して、バルーンを表示してください。 –

+0

ありがとう、あなたは正しい –

答えて

3

アイコンが表示されていない限り、ポップアップバルーンは表示できません。最初にアイコンを表示する必要があります(コードではtray.addとします)。

+0

ありがとう、あなたは正しかった –

関連する問題