窗口事件适配

一、使用窗口事件适配器类。。

import java.awt.*;
import java.awt.event.*;
public class MyWindows {
/**
  * @param args
  */
public static void main(String[] args) {
  // TODO Auto-generated method stub
  Frame fre = new Frame("Yeah!");//这是我们的窗口。。
  fre.addWindowListener(new MyWinAdapter());//注册监听器,就是监听您对窗口都干了些什么。。
  fre.setBounds(100, 100, 500, 500);
  fre.setLayout(null);
  Button btn = new Button("Exit");
  btn.addMouseListener(new MyMouseAdapter());//这是为button注册鼠标事件监听器,大同小异。。
  btn.setBounds(10, 100, 200, 40);
  fre.add(btn);
  fre.setVisible(true);
}
}
class MyWinAdapter extends WindowAdapter {//继承原有的WindowAdapter类,重写关闭窗口方法。。
public void windowClosing(WindowEvent e) {//重写关闭窗口的方法,也就是单击关闭按钮的时候执行。。
//注意,如果不重写将什么都不执行。。
  System.exit(0);//退出程序。。
}
}
class MyMouseAdapter extends MouseAdapter {

public void mouseClicked(MouseEvent e) {
  System.exit(0);
}
}


二、实现接口,然后注册监听器,并重写接口内的所有事件。。

import javax.swing.*;
import java.io.*;
import java.awt.event.*;
import java.awt.Color;
import java.awt.GridLayout;
public class NoteBook implements WindowListener { //实现窗口事件接口。。

JFrame jf;//主窗体。。

public NoteBook() {
  jf = new JFrame("NoteBook");
  jf.addWindowListener(this);//注册监听器,一样的。。
  jf.setLayout(null);
  jf.setBounds(200, 200, 400, 400);
  jf.setVisible(true);
}

public void windowClosing(WindowEvent we) { //重写关闭窗口事件的方法,当按下关闭按钮时执行。。
  System.exit(0); //退出。。
}

//以下是该接口内的其他方法。。虽然没用到,但还是要实现。。写成空方法即可。。
public void windowClosed(WindowEvent we) {
 
}

public void windowIconified(WindowEvent we) {
 
}

public void windowDeiconified(WindowEvent we) {
 
}

public void windowActivated(WindowEvent we) {
 
}

public void windowDeactivated(WindowEvent we) {
 
}
   
/**
  * @param args
  */
public static void main(String[] args) {
  // TODO Auto-generated method stub
  NoteBook newBook = new NoteBook();
}
}

你可能感兴趣的:(java,swing)