2014-06-09 16 views
0

안녕하세요 저는 자바에서 동적으로 트레이 아이콘을 변경하려고합니다. 예 : 아이콘이 회색 사각형입니다. 사용자가 트레이 메뉴에서 항목을 클릭하면 회색 사각형으로 이미지를 빨간색 사각형으로 전환합니다.Java 트레이 아이콘 변경

Here is my current code for the tray icon. 

'public class Utils { 
    private static Image iconImage; 
    private static Image iconImage2; 
    private static SystemTray sysTray; 
    private static PopupMenu menu; 
    private static MenuItem item1; 
    private static MenuItem item2; 
    private static MenuItem item0; 
    private static TrayIcon trayIcon; 
    private static TrayIcon trayIcon2; 
    public static void loadTrayIcon() { 
     JFrame frame = new JFrame("AC Tray Frame"); 

     frame.setLayout(new GridLayout(1, 3)); 

     if (SystemTray.isSupported()) { 
      sysTray = SystemTray.getSystemTray(); 

      iconImage = Toolkit.getDefaultToolkit().getImage("osx_tray_icon.png"); 
      iconImage2 = Toolkit.getDefaultToolkit().getImage("loading.gif"); 

      menu = new PopupMenu(); 

      item0 = new MenuItem("This is a test"); 
      item0.setEnabled(false); 
      item1 = new MenuItem("Test"); 
      item2 = new MenuItem("Exit"); 

      menu.add(item0); 
      menu.addSeparator(); 
      menu.add(item1); 
      menu.addSeparator(); 
      menu.add(item2); 

      item1.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        try { 
         system.out.println("hi"); 
        } catch (IOException e1) { 
         e1.printStackTrace(); 
        } 
       } 
      }); 

      item2.addActionListener(new ActionListener() { 
       public void actionPerformed(ActionEvent e) { 
        System.exit(0); 
       } 
      }); 

      trayIcon = new TrayIcon(iconImage, "Test Title", menu); 

      try { 
       sysTray.add(trayIcon); 
      } 

      catch(AWTException e) { 
       System.out.println(e.getMessage()); 
      } 
     } 
    }' 

답변