Java – how to capture window minimization events?

I want to create a JFrame instance and click the minimize button. I want to hide it in the system tray, usually the windows taskbar

I know through Java I can use the systemtray class in the AWT package, but I don't get any tutorials or working program examples

I ask this question here, either get a link to the tutorial site of systemtray class, or whether there is any text that knows how to capture window minimization events. This is a working example

Solution

This captures the window minimization event and creates a tray icon It will also remove the window from the taskbar, and it will add a listener to the tray icon so that a mouse click will restore the window The code is a bit cluttered, but it should be good enough for your learning purposes:

public class Qwe extends JFrame {

public static void main(String[] args) {
    final Qwe qwe = new Qwe();

    qwe.addWindowStateListener(new WindowStateListener() {
        public void windowStateChanged(WindowEvent e) {
            if (e.getNewState() == ICONIFIED) {
                try {
                    final TrayIcon trayIcon = new TrayIcon(new ImageIcon("/usr/share/icons/gnome/16x16/emotes/face-plain.png").getImage());
                    trayIcon.addMouseListener(new MouseAdapter() {
                        @Override
                        public void mouseClicked(MouseEvent e) {
                            qwe.setVisible(true);
                            SystemTray.getSystemTray().remove(trayIcon);
                        }
                    });
                    SystemTray.getSystemTray().add(trayIcon);
                    qwe.setVisible(false);
                } catch (AWTException e1) {
                    e1.printStackTrace();
                }
            }
        }
    });
    qwe.setSize(200,200);
    qwe.setVisible(true);
}

}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>