首页 > 代码库 > 按钮事件处理(3)
按钮事件处理(3)
在进行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)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。