WindowLIstener是專門處理窗口的事件監聽窗口。一個窗口的全部變化。如窗口的打開、關閉等都能夠使用這個接口進行監聽。
實現WIndowListener:
package com.beyole.util; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; public class MyWindowEventHandle implements WindowListener { @Override public void windowOpened(WindowEvent e) { System.out.println("windowOpened--->窗體被打開"); } @Override public void windowClosing(WindowEvent e) { System.out.println("windowClosing--->窗體關閉"); } @Override public void windowClosed(WindowEvent e) { System.out.println("windowClosed--->窗體被關閉"); } @Override public void windowIconified(WindowEvent e) { System.out.println("windowIconified--->窗體最小化"); } @Override public void windowDeiconified(WindowEvent e) { System.out.println("windowDeiconfied--->窗體從最小化恢復"); } @Override public void windowActivated(WindowEvent e) { System.out.println("windowActivated--->窗體被選中"); } @Override public void windowDeactivated(WindowEvent e) { System.out.println("windowDeactivated--->取消窗體被選中"); } }
單單僅僅有監聽器是不夠的。還須要在組件使用時注冊監聽。這樣才干處理,直接使用窗口的addWindowListener(監聽對象)方法就可以注冊事件監聽
package com.beyole.util; import java.awt.Color; import javax.swing.JFrame; public class MyWindowEventFrame01 { public static void main(String[] args) { JFrame frame=new JFrame("Crystal"); frame.addWindowListener(new MyWindowEventHandle()); frame.setSize(300, 160); frame.setBackground(Color.WHITE); frame.setLocation(300, 200); frame.setVisible(true); } }
程序截圖:

結果截圖: