Java tutorial
import java.awt.Dimension; import java.awt.Frame; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import javax.swing.JPanel; public class Main { public Main() { JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel() { @Override public Dimension getPreferredSize() { return new Dimension(300, 300); } }; frame.add(panel); frame.addWindowStateListener(new WindowAdapter() { @Override public void windowStateChanged(WindowEvent we) { super.windowStateChanged(we); if (we.getNewState() == Frame.ICONIFIED) { System.out.println("Here"); } } }); frame.pack(); frame.setVisible(true); } public static void main(String[] args) { new Main(); } }