计算机二级辅导:Java事件监听计算机二级考试

文章作者 100test 发表时间 2009:04:09 23:54:05
来源 100Test.Com百考试题网


  这几天在看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) {}
  }).
  //但这种方法通常只能用于较小的程序中
  2009年上半年全国计算机等级考试参考答案请进入计算机考试论坛
  2009年上半年全国计算机等级考试报名信息汇总
  2009年NCRE考试有新变化
  2009年全国计算机等级考试-大纲
  2009年上半年全国计算机二级考试试题及答案

相关文章


二级java辅导:有关于JVM的垃圾收集(一)计算机二级考试
计算机二级辅导:Java事件监听计算机二级考试
使用iBatis的自动化代码生成工具Abator计算机二级考试
一个非典型性改动带来的思考(三)之项目设计计算机二级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛