本範例應用在須將系統常駐,但總不能將其縮小在工作列上之情況,所以利用SystemTray、TrayIcon、PopupMenu、MenuItem、Menu...等元件,以及各種監聽事件(ActionListener、ItemListener、WindowListener),以完成視窗縮小至系統托盤上之效果,並給予範例以供各位學習。
系統托盤預設位於工作列的右方、螢幕的右下角。一般的程式在按下視窗縮小鍵之後,會縮小並以圖像形式出現於工作列上。但有些程式卻將圖像縮放於系統托盤內,有如常駐程式般,方便使用者點選使用,如下圖。
- 縮小JFrame時縮小至系統托盤上之程式範例
- 縮小JFrame時縮小至系統托盤上之執行結果
◎ 視窗顯示樣貌
◎ 圖像之訊息框 (使用的方法為:displayMessage)
◎ 放置在系統托盤之圖像 (使用的元件為:TrayIcon)
◎ 右鍵彈跳式選單 (使用的元件為:PopupMenu、MenuItem、Menu、CheckboxMenuItem)
◎ 移至系統托盤之圖像上時的提示說明
- 關閉JFrame時縮小至系統托盤上之程式範例
- 關閉JFrame時縮小至系統托盤上之執行結果
其與縮小視窗之結果大致相同,只差別在:
- 移至系統托盤之圖像上時的提示說明之文字不同
- frame.setDefaultCloseOperation()方法是否設置
- - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- - setDefaultCloseOperation可設可不設,如設置的話其參數需為JFrame.DO_NOTHING_ON_CLOSE,且還需設定[frame.setVisible(false);]
- WindowListener Override的方法之不同
- - windowIconified
- - windowClosing
- TrayIcon可用方法之介紹
* public TrayIcon(Image image)
* public TrayIcon(Image image, String tooltip)
* public TrayIcon(Image image, String tooltip, PopupMenu popup)
參數說明:
- image:以java.awt.Image類別建立之圖像,以作為顯示在系統托盤上之圖像。
- tooltip:提示說明。當滑鼠移至圖像上方時,所顯示之使用提示說明。
- popup:以java.awt.PopupMenu類別建立之右鍵彈跳式選單。當於圖像上方按下滑鼠右鍵時,所顯示之彈跳式選單。