Java 我需要一些指导来理解ActionListener和actionPerformed(ActionEvent)是如何工作的
我在自学Java的swing组件,遇到了一些概念上的障碍。我确信我对某些特定术语的理解是错误的,但希望我能很好地表达我的困难,从而得到一两个答案 为了简洁起见,我有以下代码:Java 我需要一些指导来理解ActionListener和actionPerformed(ActionEvent)是如何工作的,java,swing,jbutton,actionlistener,Java,Swing,Jbutton,Actionlistener,我在自学Java的swing组件,遇到了一些概念上的障碍。我确信我对某些特定术语的理解是错误的,但希望我能很好地表达我的困难,从而得到一两个答案 为了简洁起见,我有以下代码: import javax.swing.*; import java.awt.*; import java.awt.event.*; // public class CreateButtonSel { public static void main(String[] args) { ButtonSel
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
//
public class CreateButtonSel {
public static void main(String[] args) {
ButtonSel thisButtonSel = new ButtonSel();
final int WIDTH = 250;
final int HEIGHT = 250;
thisButtonSel.setSize(WIDTH,HEIGHT);
thisButtonSel.setVisible(true);
}
}
当我添加implements ActionListener
(下面注释掉)时,我得到一个错误,按钮SEL不是抽象的,并且不会覆盖抽象方法actionPerformed(ActionEvent)
。从我在javadocs和各种站点上读到的内容来看,我认为错误是由于没有在方法中定义操作造成的。差不多
public void actionPerformed(ActionEvent clickButton) {
do stuff;
{
然而,我不清楚这种方法需要在哪里使用。我猜它存在于带有构造函数的ButtonSel
类中——因为这就是我定义button对象的地方。但是,我也可以将其视为CreateButtonSel
类中的一个方法,并将其作为参数传递给ButtonSel
。然后,问题是这些按钮动作特征是如何或是否传递给构造函数的?或者,如果它们在CreateButtonSel
类中,它们会自动附加到构造函数创建的button对象吗
有人能解释一下程序流是如何工作的吗?什么时候调用哪个方法
// public class ButtonSel extends JFrame implements ActionListener {
public class ButtonSel extends JFrame {
JButton approveButton = new JButton("Go");
JPanel buttonPanel = new JPanel();
//
public ButtonSel() {
super("ButtonTest");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout());
add(approveButton);
}
}
参见示例。您还可以在论坛中搜索其他工作示例