2014-02-07 57 views
1

您好我能夠將TrayIcon添加到SystemTray並可以刪除相同的表單SystemTray。如何使用Java從SystemTray中刪除TrayIcon

如何刪除現有的TrayIcon。我無法讓對象使用TrayIcons來執行此操作。

下面是我的代碼添加和刪除任務欄圖標

 TrayIcon trayIcon = new TrayIcon(icon); 
     SystemTray tray = SystemTray.getSystemTray(); 
     PopupMenu popup = new PopupMenu(); 
     MenuItem exit = new MenuItem("Exit");   
     popup.add(exit); 

     trayIcon.setToolTip("My TrayIcon"); 
     trayIcon.setPopupMenu(popup); 
     tray.add(trayIcon); 

     trayIcon.displayMessage("Testing", 
       "Information" , 
       TrayIcon.MessageType.INFO); 
     tray.remove(trayIcon); 
+0

你的意思是刪除一個由不同的應用程序添加的答案嗎? – Boann

+0

不完全是,我加入一試圖標,當我開始測試,如果測試被突然停止..圖標沒有被卸載下一次,如果我再次運行一個圖標將被添加到托盤。因此,我在系統托盤中有一堆相同的圖標 – Hanumanth

+1

你是什麼意思「突然停止「?你的意思是拋出異常嗎? – Boann

回答

0

您必須刪除它形成SystemTray

系統托盤包含一個或多個使用add(java.awt.TrayIcon)方法添加到托盤的托盤圖標。當remove(java.awt.TrayIcon)方法不再需要時,它們可以被刪除。

在「How to Use the System Tray",教程中,你會發現

+0

+1 [例如](http://stackoverflow.com/a/12707482/714968) – mKorbel

+0

由於網頁的移動性質以及SO的答案對於答案仍然有效的意圖,SO上不鼓勵僅鏈接答案很長一段時間來。如果你必須通過鏈接回答,至少要通過鏈接足夠的內容來提供海報可以使用的最低限度的答案,而不用離開現場。否則,你的答案會非常低。 – mah

+0

@mah,謝謝你的關心。但是報價包含足夠的信息,如何添加/刪除嘗試圖標。有問題的OP也應該如此使用。這裏的問題是OP想要知道如何在突然退出後刪除try圖標。 –