如何讓java程式最小化至系統托盤
下面的這個程式簡單地實現了把java應用程式縮小到托盤的方法.
程式執行的jdk要是1.6才行,因為這是J2SDK1.6新加的一些類和方法.
程式中實測必須是16*16的圖片才行
import java.awt.*;
import java.io.*;
import javax.swing.*;
import java.awt.event.*;
import javax.imageio.ImageIO;
public class Test extends JFrame{
private TrayIcon trayIcon;//托盤圖示
private SystemTray systemTray;//系統托盤
public Test()
{
super("系統托盤圖示");
systemTray = SystemTray.getSystemTray();//獲得系統托盤的例項
setSize(150,150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
try {
trayIcon = new TrayIcon(ImageIO.read(new File("0.gif")));
systemTray.add(trayIcon);//設定托盤的圖示,0.gif與該類檔案同一目錄
}
catch (IOException e1) {e1.printStackTrace();}
catch (AWTException e2) {e2.printStackTrace();}
this.addWindowListener(
new WindowAdapter(){
public void windowIconified(WindowEvent e){
dispose();//視窗最小化時dispose該視窗
}
});
trayIcon.addMouseListener(
new MouseAdapter(){
public void mouseClicked(MouseEvent e){
if(e.getClickCount() == 2)//雙擊托盤視窗再現
setExtendedState(Frame.NORMAL);
setVisible(true);
}
});
}
public static void main(String args[])
{
new Test();
}
}
package awt;
import java.awt.AWTException;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class TrayDemo extends JFrame {
private TrayIcon trayIcon = null; // 托盤圖示
private SystemTray tray = null; // 本作業系統托盤的例項
public static TrayDemo trayDemo = new TrayDemo();
private TrayDemo() {
init();
}
public void init() {
if (SystemTray.isSupported()) { // 如果作業系統支援托盤
this.tray();
}
this.setSize(300, 200);
this.setResizable(false);
// 視窗關閉時觸發事件
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public void windowIconified(WindowEvent e) {
try {
tray.add(trayIcon); // 將托盤圖示新增到系統的托盤例項中
//setVisible(false); // 使視窗不可視
dispose();
} catch (AWTException ex) {
ex.printStackTrace();
}
}
});
}
private void tray() {
tray = SystemTray.getSystemTray(); // 獲得本作業系統托盤的例項
ImageIcon icon = new ImageIcon("images/30.gif"); // 將要顯示到托盤中的圖示
PopupMenu pop = new PopupMenu(); // 構造一個右鍵彈出式選單
MenuItem show = new MenuItem("開啟程式(s)");
MenuItem exit = new MenuItem("退出程式(x)");
pop.add(show);
pop.add(exit);
trayIcon = new TrayIcon(icon.getImage(), "車輛管理系統", pop);
/**
* 新增滑鼠監聽器,當滑鼠在托盤圖示上雙擊時,預設顯示視窗
*/
trayIcon.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) { // 滑鼠雙擊
tray.remove(trayIcon); // 從系統的托盤例項中移除托盤圖示
setExtendedState(JFrame.NORMAL);
setVisible(true); // 顯示視窗
toFront();
}
}
});
show.addActionListener(new ActionListener() { // 點選“顯示視窗”選單後將視窗顯示出來
public void actionPerformed(ActionEvent e) {
tray.remove(trayIcon); // 從系統的托盤例項中移除托盤圖示
setExtendedState(JFrame.NORMAL);
setVisible(true); // 顯示視窗
toFront();
}
});
exit.addActionListener(new ActionListener() { // 點選“退出演示”選單後退出程式
public void actionPerformed(ActionEvent e) {
System.exit(0); // 退出程式
}
});
}
/**
* 顯示資訊
*/
// 返回單一的例項物件
public static TrayDemo getInstanceTrayDemo() {
return trayDemo;
}
// 處理視窗事件
}
相關文章
- Java中如何使用系統托盤Java
- C# Winform 主視窗最小化隱藏至系統托盤中(適合小白)C#ORM
- QT最小化程式到托盤執行QT
- 【Qt開發】實現系統托盤,托盤選單,托盤訊息QT
- JAVA托盤程式SystemTray的心得Java
- Winform設定托盤程式,托盤顯示ORM
- 基於Duilib的win32程式實現最小化到托盤UIWin32
- 系統托盤中的快捷圖示(轉)
- swt 簡單的托盤程式
- Windows10系統怎麼隱藏托盤圖示Windows
- 托盤程式設計全接觸(轉)程式設計
- 托盤程式設計全接觸 (轉)程式設計
- VC編制系統托盤的一種實現方法[習作]
- Delphi托盤程式設計實戰演練 (轉)程式設計
- 關於對話方塊最小化到托盤後,點選托盤圖示後只在工作列顯示而無法還原視窗的解決方法。
- win7系統隱藏NVIDIA托盤圖示的操作方法Win7
- 從0到1,手把手帶你開發截圖工具ScreenCap------003實現最小化程式到托盤執行
- Avalonia 實現動態托盤
- 托盤程式設計(出處:程式設計愛好者網站)程式設計網站
- 自己動手寫類似酷狗播放器(4)_系統托盤的顯示播放器
- 在托盤上顯示Balloon Tooltip
- 如何用u盤重灌系統win10系統Win10
- win10托盤圖示不顯示怎麼回事_win10工作列托盤圖示顯示不完全如何修復Win10
- 在托盤上顯示Balloon Tooltip (轉)
- win10 分盤如何改名_win10系統盤如何改名Win10
- 求助,JAVA如何獲取系統當前所有程式Java
- win10怎麼看系統在哪個盤_win10系統如何檢視系統所在盤Win10
- 如何讓任何小程式都支援在windows系統中開啟?Windows
- 如何使用u盤重灌蘋果macos系統蘋果Mac
- 在 Linux 上為你的任務建立一個自定義的系統托盤指示器Linux
- 華碩電腦U盤重灌系統教程|華碩電腦如何用U盤重灌系統
- 如何讓CRM系統與ERP系統一體化?
- 如何讓AI系統擺脫偏見AI
- 如何讓系統單例更易測試單例
- 如何製作win10系統u盤啟動盤_win10系統U盤啟動盤製作步驟Win10
- w10系統如何去除分盤_win10系統去除分盤操作方法Win10
- win10如何用u盤重灌系統_u盤重灌系統步驟WIN10Win10
- 如何用U盤重灌系統win10|U盤重灌win10系統步驟Win10