如何在任务栏的系统托盘中隐藏JFrame

如何在任务栏的系统托盘中隐藏JFrame,第1张

如何在任务栏的系统托盘隐藏JFrame
import java.awt.*;import java.awt.event.*;import javax.swing.Jframe;import javax.swing.UIManager;public class HideToSystemTray extends Jframe{    TrayIcon trayIcon;    SystemTray tray;    HideToSystemTray(){        super("SystemTray test");        System.out.println("creating instance");        try{ System.out.println("setting look and feel"); UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());        }catch(Exception e){ System.out.println("Unable to set LookAndFeel");        }        if(SystemTray.isSupported()){ System.out.println("system tray supported"); tray=SystemTray.getSystemTray(); Image image=Toolkit.getDefaultToolkit().getImage("/media/faisal/DukeImg/Duke256.png"); ActionListener exitListener=new ActionListener() {     public void actionPerformed(ActionEvent e) {         System.out.println("Exiting....");         System.exit(0);     } }; PopupMenu popup=new PopupMenu(); MenuItem defaultItem=new MenuItem("Exit"); defaultItem.addActionListener(exitListener); popup.add(defaultItem); defaultItem=new MenuItem("Open"); defaultItem.addActionListener(new ActionListener() {     public void actionPerformed(ActionEvent e) {         setVisible(true);         setExtendedState(Jframe.NORMAL);     } }); popup.add(defaultItem); trayIcon=new TrayIcon(image, "SystemTray Demo", popup); trayIcon.setImageAutoSize(true);        }else{ System.out.println("system tray not supported");        }        addWindowStateListener(new WindowStateListener() { public void windowStateChanged(WindowEvent e) {     if(e.getNewState()==ICONIFIED){         try {  tray.add(trayIcon);  setVisible(false);  System.out.println("added to SystemTray");         } catch (AWTException ex) {  System.out.println("unable to add to tray");         }     }        if(e.getNewState()==7){         try{ tray.add(trayIcon); setVisible(false); System.out.println("added to SystemTray"); }catch(AWTException ex){ System.out.println("unable to add to system tray");        } }        if(e.getNewState()==MAXIMIZED_BOTH){         tray.remove(trayIcon);         setVisible(true);         System.out.println("Tray icon removed");     }     if(e.getNewState()==NORMAL){         tray.remove(trayIcon);         setVisible(true);         System.out.println("Tray icon removed");     } }        });        setIconImage(Toolkit.getDefaultToolkit().getImage("Duke256.png"));        setVisible(true);        setSize(300, 200);        setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);    }    public static void main(String[] args){        new HideToSystemTray();    }}

这是工作程序



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5478045.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存