有人可以解释这个 java Swing 代码吗?

Could someone please explain this java Swing code?

我最近刚开始使用 Awt 和 Swing Java 并且有 ActionListener 的代码

jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);

现在,我所知道的事情 - 我们应该传递 class 的对象,其构造函数定义了上述代码。通常,我通过 'this' 从而给出当前 class 的对象作为参数。

现在上面的代码包含'java.awt.event.ActionListener()'。那是什么意思??简而言之,有人可以完全解释上面提到的整个代码吗?会善待你的。我找不到这个确切的问题,已经问过的人似乎已经理解了我坚持的这个基本概念,所以他们只是解决了他们其他复杂的疑问。

您创建了一个新的 ActionListener:

new java.awt.event.ActionListener() {
  public void actionPerformed(java.awt.event.ActionEvent evt) {
   jButton1ActionPerformed(evt);
  }
}

并将其添加到您的按钮:

jButton1.addActionListener(..);

这与您创建一个新的相同 class 实现 ActionListener 接口并将其添加到按钮。

这只是一段代码,可以从包中创建一个新的动作侦听器 java.awt.event 然后为它添加一个动作,但可能是空的。

您的代码正在创建一个匿名的 ActionListener,如果您只需要将它用于 jbutton1,这很好。如果您需要它用于多个按钮,您可以创建侦听器 class 并为其命名以用于您需要的所有按钮,如下所示:

public class myListener implements ActionListener{
    @Override
    public void actionPerformed(ActionEvent e){
        if( ((JButton) e.getSource()) == jButton1 ) jButton1ActionPerformed(e);
        else if( ((JButton) e.getSource()) == jButton2 ) jButton2ActionPerformed(e);
    }
}//end listener class

并为所有按钮添加监听器:

jButton1.addActionListener(new myListener());
jButton2.addActionListener(new myListener());

这里稍微讲一下:http://www.fredosaurus.com/notes-java/GUI/events/anonymous_listener.html