[置顶] JAVA 捕获窗口事件变化

捕获和处理窗口事件的方法,WindowListener内部类实现。

代码:

import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.*;


public class TestWindowsListener extends JFrame{

	/**
	 * 捕获窗口事件变化
	 * @author Sun1956
	 */
	public static void main(String[] args) {
		JFrame frame = new TestWindowsListener();        
		frame.setTitle("TestWindowListener");
		frame.setSize(400,300);
		frame.setLocationRelativeTo(null);
		frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		frame.addWindowListener(new MyWindowListener());     //为窗口添加事件监听器
		frame.setVisible(true);

	}
	 //这里一定要用static,里面方法一定要写全,暂时不懂为什么,求解???
	private static class MyWindowListener implements WindowListener {    
		@Override
		public void windowActivated(WindowEvent e) {   //窗口被激活触发
			System.out.println("窗口被激活");
			
		}
		@Override
		public void windowOpened(WindowEvent e) {         //窗口被打开触发
			System.out.println("窗口被打开");
		}
		@Override
		public void windowIconified(WindowEvent e) {   //窗口被图标化触发
			System.out.println("窗口被图标化");
		}
		@Override
		public void windowDeiconified(WindowEvent e) { //窗口被非图标化触发
			System.out.println("窗口被非图标化");
		}
		@Override
		public void windowClosing(WindowEvent e) {       //窗口将要被关闭触发
			System.out.println("窗口将要被关闭");
		}
		@Override
		public void windowDeactivated(WindowEvent e) {     //窗口不再处于激活状态触发
			System.out.println("窗口不再处于激活状态");
		}
		@Override
		public void windowClosed(WindowEvent e) {         //窗口已经被关闭触发
			System.out.println("窗口已经被关闭");
		}
				
	}
}



你可能感兴趣的:(java,java,java,WindowListener,窗口事件)