Java的SystemTray類的使用方法
Java的SystemTray類的使用方法
JDK1.6版增加了java.awt.SystemTray類,該類表示桌面的系統(tǒng)托盤(pán),這對(duì)大多數(shù)系統(tǒng)托盤(pán)應(yīng)用已經(jīng)足夠。如果這個(gè)類還是不能滿足您的需求,可以試一試JDIC (JDesktop Integration Components)。
JDK1.6的API文檔,給出了這個(gè)類的用法。有人愿意把創(chuàng)建系統(tǒng)托盤(pán)的代碼直接放在主應(yīng)用代碼中,筆者更傾向于把創(chuàng)建系統(tǒng)托盤(pán)的責(zé)任分派給一個(gè)單獨(dú)的類,這符合類的設(shè)計(jì)原則。在主應(yīng)用中直接調(diào)用該類的工廠方法就可以了,結(jié)構(gòu)清晰,便于維護(hù),改動(dòng)或增加系統(tǒng)托盤(pán)的功能,不必改動(dòng)主應(yīng)用代碼。
創(chuàng)建系統(tǒng)托盤(pán)的類(TrayFactory.java)的代碼如下:
JDK1.6的API文檔,給出了這個(gè)類的用法。有人愿意把創(chuàng)建系統(tǒng)托盤(pán)的代碼直接放在主應(yīng)用代碼中,筆者更傾向于把創(chuàng)建系統(tǒng)托盤(pán)的責(zé)任分派給一個(gè)單獨(dú)的類,這符合類的設(shè)計(jì)原則。在主應(yīng)用中直接調(diào)用該類的工廠方法就可以了,結(jié)構(gòu)清晰,便于維護(hù),改動(dòng)或增加系統(tǒng)托盤(pán)的功能,不必改動(dòng)主應(yīng)用代碼。
創(chuàng)建系統(tǒng)托盤(pán)的類(TrayFactory.java)的代碼如下:
CODE:
//package com.jnmc.liang.systemtray;
import java.awt.*;
import java.awt.event.*;
public class TrayFactory {
private TrayIcon trayIcon = null;
private Component comp = null;
private String trayImageName = null;
private String tooltip = null;
private TrayFactory(Component comp, String trayImageName, String tooltip) {
this.comp = comp;
this.trayImageName = trayImageName;
this.tooltip = tooltip;
init();
}
private void init() {
if (SystemTray.isSupported()) {
SystemTray tray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage(trayImageName);
PopupMenu popupMenu = new PopupMenu();
MenuItem restoreItem = new MenuItem("還原");
MenuItem exitItem = new MenuItem("退出");
restoreItem.addActionListener(new RestoreItemActionListener());
import java.awt.*;
import java.awt.event.*;
public class TrayFactory {