Java swing 窗口最小化到任務欄 點擊右鍵顯示菜單(復制代碼即可運行查看效果)
package swing;
import java.awt.AWTException;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
/**
* swing程序最小化至系統托盤
* @author seara
*/
public class TestSysteTray {
public static void main(String args[]) {
TrayIcon trayIcon = null;
if (SystemTray.isSupported()) // 判斷系統是否支持系統托盤
{
SystemTray tray = SystemTray.getSystemTray(); // 創建系統托盤
Image image = Toolkit.getDefaultToolkit().getImage("D:\\j2EE\\test\\src\\images\\smile.gif");// 載入圖片,這里要寫你的圖標路徑哦
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFrame frame = new JFrame();
frame.setBounds(400, 400, 200, 200);
JLabel label = new JLabel("welcome JDK1.6");
frame.add(label);
frame.setVisible(true);
}
};
// 創建彈出菜單
PopupMenu popup = new PopupMenu();
//主界面選項
MenuItem mainFrameItem = new MenuItem("主界面");
mainFrameItem.addActionListener(listener);
//退出程序選項
MenuItem exitItem = new MenuItem("退出程序");
exitItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (JOptionPane.showConfirmDialog(null, "確定退出系統") == 0) {
System.exit(0);
}
}
});
popup.add(mainFrameItem);
popup.add(exitItem);
trayIcon = new TrayIcon(image, "seara", popup);// 創建trayIcon
trayIcon.addActionListener(listener);
try {
tray.add(trayIcon);
} catch (AWTException e1) {
e1.printStackTrace();
}
}
}
}