actionlistener用法,actionlistener方法
Java程序设计中,ActionListener是一个关键的接口,它用于监听所谓的Action事件,也就是一些用户行为触发的事件。通过实现ActionListener接口并实现其方法,可以实现与用户的良好交互。
如何使用ActionListener?
要使用ActionListener,需要先了解几个概念。Action事件可以理解为一个按钮按下或菜单选项被选中等用户操作产生的事件。每个Action事件都有一个源对象,即触发事件的那个组件。比如,如果用户点击一个JButton,那么JButton就是这个Action事件的源对象。
接下来,我们看一个简单的例子,介绍如何使用ActionListener。下面是一个GUI界面,在界面上有两个JButton:submit和cancel。
我们将实现这样的功能:当用户点击submit按钮时,弹出一个提示框,告诉用户“提交成功”;当用户点击cancel按钮时,退出程序。
首先,我们需要创建一个JFrame窗口。在JFrame窗口中,我们添加两个JButton,然后为每个按钮注册一个ActionListener。
import javax.swing.*;import java.awt.*;import java.awt.event.*;public class MyFrame extends JFrame implements ActionListener { JButton submitButton; JButton cancelButton; public MyFrame() { super("MyFrame"); submitButton = new JButton("Submit"); cancelButton = new JButton("Cancel"); submitButton.addActionListener(this); cancelButton.addActionListener(this); Container contentPane = getContentPane(); contentPane.setLayout(new FlowLayout()); contentPane.add(submitButton); contentPane.add(cancelButton); setSize(250, 100); setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getSource() == submitButton) { JOptionPane.showMessageDialog(null, "提交成功"); } else if (e.getSource() == cancelButton) { System.exit(0); } } public static void main(String[] args) { new MyFrame(); }}
让我们仔细看一下这段代码。MyFrame类继承自JFrame,并实现了ActionListener接口。在构造函数中,我们创建了两个JButton,并为它们注册了同一个ActionListener实例。接下来,我们将这两个按钮添加到JFrame窗口中。
实际上,我们可以为每个按钮都创建一个ActionListener实例,但是这样会造成冗余。因此,我们使用this关键字,即当前对象,作为实现ActionListener接口的类的对象。
在实现ActionListener接口的类中,有一个方法需要被重写,即actionPerformed方法。当Action事件发生时,该方法将被自动调用。
在我们的例子中,我们为submit和cancel按钮都定义了一个ActionListener。在actionPerformed方法中,我们使用getSource方法判断哪个按钮被点击了。如果是submit按钮,我们调用JOptionPane的showMessageDialog方法,显示一个提示框。如果是cancel按钮,我们调用System.exit方法,结束程序。
总结
ActionListener是Java程序设计中的一个重要接口,可以实现与用户的良好交互。通过实现ActionListener接口,可以监听Action事件,实现按钮点击等用户行为触发的事件。在使用ActionListener时,需要了解Action事件源对象、Action事件的具体操作等概念。可以根据需要,为每个按钮都定义一个ActionListener实例,也可以使用同一个实例。