java 窗体事件 WindowListener

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class WindowEventDemo extends JFrame implements WindowListener{

@Override
public void windowOpened(WindowEvent e) {
//窗口首次打开时调用
t.setBackground(Color.RED);//this.setBackground(Color.RED);没有效果 不知为啥???
}

@Override
public void windowClosing(WindowEvent e) {
//从系统菜单中关闭窗体时调用

System.out.println("窗口关闭了");
System.exit(-1);
}

@Override
public void windowClosed(WindowEvent e) {
//关闭窗体时调用  API: 因对窗口调用 dispose 而将其关闭时调用。
// System.exit(-1);放在这里不能完全关闭程序   红点还是亮的
}

@Override
public void windowIconified(WindowEvent e) {
//窗体变为最小化时调用
}

@Override
public void windowDeiconified(WindowEvent e) {
//窗体变为正常状态事调用
}


@Override
public void windowActivated(WindowEvent e) {
//窗体被激活时调用

}

@Override
public void windowDeactivated(WindowEvent e) {
// 当 Window 不再是活动 Window 时调用。
}
//WindowAdaptor类中的
/* public void windowDeactivated(WindowEvent e) {
// 当 Window 不再是活动 Window 时调用。
}


public void windowStateChanged(WindowEvent e) {
//当窗口状态改变时调用。
}


public void windowGainedFocus(WindowEvent e) {
//窗口获得焦点时调用

}

public void windowLostFocus(WindowEvent e) {
//窗口失去焦点时调用
}*/


JTextField t=new JTextField("内容");
public void initUI() {
JLabel title=new JLabel("窗体事件",JTextField.CENTER);//也行
add(title,BorderLayout.NORTH);
add(t,BorderLayout.CENTER);

addWindowListener(this);
setSize(500, 300);
setLocationRelativeTo(null);//居中显示
setVisible(true);
setResizable(false);//禁止最大化
// setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {
WindowEventDemo t=new WindowEventDemo();
t.initUI();
}
}

猜你喜欢

转载自blog.csdn.net/hza419763578/article/details/80678043