當前位置:編程學習大全網 - 編程語言 - 在Java編程中,怎麽將程序最小化到托盤中

在Java編程中,怎麽將程序最小化到托盤中

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;

}

// 處理窗口事件

}

  • 上一篇:京劇智取威虎山中楊子榮的唱詞有哪些?
  • 下一篇:求<福爾摩斯>所有影片名稱
  • copyright 2024編程學習大全網