首页 > 其他 > 详细

按钮事件处理(3)

时间:2017-06-26 00:21:02      阅读:338      评论:0      收藏:0      [点我收藏+]

  在进行gui编程时,我们最常使用的控件时按钮,在java中JButton类代表了按钮。它的类层次结构图是:

java.lang.Object
    |_ java.awt.Component
             |_java.awt.Container
                     |_javax.swing.JComponent
                              |_javax.swing.AbstractButton
                                       |_javax.swing.JButton
    

  我们使用按钮的目的不是为了好看,而是点击它,产生某些我们想要的结果,即事件处理。在c语言中,我们需要不断检查事件队列,然后依次处理。但是这种方式编写的程序可读性很差,在java中采用了事件监听器,它对每个需要控制的控件,都绑定一个监听器,绑定的监听器负责进行处理相关事宜。流程就是控件产生了事件,然后传递给了监听器,监听器接收到事件,然后进行处理。

  java将控件产生的事件的所有相关信息都封装到一个事件对象,这个事件对象都派生于java.util.EventObject,按钮对应的事件对象是ActionEvent。每个监听器都必须实现一个叫ActionListener的接口,实现其中的方法actionPerformed(ActionEvent e)。

  

public class test()
{
    public static void main(String[] args)
    {
          ... ...
          javax.swing.JButton button = new javax.swing.JButton();
          ... ...
          TestAction action = new TestAction();
          button.addActionListener(action);
     }

     class TestAction implements java.awt.event.ActionListener{
           public void actionPerformed(java.awt.event.ActionEvent e)
           {
                      Object obj = e.getSource();
                      if(obj == button)
                                test(e);
           }
     }

     void test(java.awt.event.ActionEvent event)
     {
                ... ...
     } 
}

  一个监听器可以同时被多个控件使用,除了上文的判断某个控件的方法之外,还可以使用setActionCommand(String name)方法将这个按钮产生的事件命名,然后在actionPerformed方法中使用e.getActionCommand().equals()方法判别。

按钮事件处理(3)

原文:http://www.cnblogs.com/canyudeguang/p/7078570.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!