计算机二级Java事件监听
来源:优易学  2011-3-30 10:30:47   【优易学:中国教育考试门户网】   资料下载   IT书店
这几天在看Java的图形界面编程,由于上课也没书,几乎没学什么,于是想自己做个堆积木来好好学一下。写完之后,被监听弄得出了好几个问题,幸好学长帮我的忙才对Java的事件驱动模型有了个基本的了解,看来用Java做GUI真的不是件蛮爽的事。后来自己好好总结了一下,想清了下面四种常用的监听方法:
  view plaincopy to clipboardprint?
  import javax.swing.*;
  import java.awt.event.*;
  //The first method
  //该方法有缺陷,如果本类要继承于另外一个类,那么由于java的单继承机制,该类就不能再继承于适配器类
  //使用该方法时需要注意适配器类中的方法名字要写正确,否则jdk会认为是新增的方法而不会报错
  public class JFrameDemo extends WindowAdapter
  {
  JFrame jfr;
  public JFrameDemo(String name)
  {
  jfr = new JFrame(name);
  jfr.setSize(200,100);
  jfr.setVisible(true);
  jfr.addWindowListener(this);
  }
  public void windowClosing(WindowEvent e)
  {
  System.exit(0);
  }
  public static void main(String[] args)
  {
  new JFrameDemo("jframedemo");
  }
  }
  //The second method
  public class JFrameDemo extends JFrame
  {
  public JFrameDemo(String name)
  {
  super(name);
  setSize(200,100);
  setVisible(true);
  addWindowListener(new WindowOP());
  }
  public static void main(String[] args)
  {
  new JFrameDemo("jramedemo");
  }
  }
  class WindowOP implements WindowListener
  {
  public void windowClosed(WindowEvent e) {}
  public void windowActivated(WindowEvent e) {}
  public void windowClosing(WindowEvent e)
  {
  System.exit(0);
  }
  public void windowDeactivated(WindowEvent e) {}
  public void windowDeiconified(WindowEvent e) {}
  public void windowIconified(WindowEvent e) {}
  public void windowOpened(WindowEvent e) {}
  }
  //The third method
  //通常而言,这种方法是较好的
  //将实现接口WindowListener的部份放在class JFrameDemo中,这样就只用一个类
  //这时在构造方法中添加监听的对象就是this本身了,也就是addWindowListener(this);
  public class JFrameDemo extends JFrame implements WindowListener
  {
  public JFrameDemo(String name)
  {
  super(name);
  setSize(200,100);
  setVisible(true);
  addWindowListener(this);
  }
  public void windowClosed(WindowEvent e) {}
  public void windowActivated(WindowEvent e) {}
  public void windowClosing(WindowEvent e)
  {
  System.exit(0);
  }
  public void windowDeactivated(WindowEvent e) {}
  public void windowDeiconified(WindowEvent e) {}
  public void windowIconified(WindowEvent e) {}
  public void windowOpened(WindowEvent e) {}
  }
  //The forth method
  //采用内部类的方法来实现WindowListener接口,即
  addWindowListener(new WindowListener()
  {
  public void windowCloing(WindowEvent e) {}
  public void windowActivated(WindowEvent e) {}
  public void windowClosing(WindowEvent e)
  {
  System.exit(0);
  }
  public void windowDeactivated(WindowEvent e) {}
  public void windowDeiconified(WindowEvent e) {}
  public void windowIconified(WindowEvent e) {}
  public void windowOpened(WindowEvent e) {}
  });
  //但这种方法通常只能用于较小的程序中

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训