Java上的侦听器

Java上的侦听器,java,listener,Java,Listener,有人能解释一下这段代码中的侦听器有什么问题吗 我刚开始学习监听器是如何工作的,并没有真正意识到changelister是如何工作的 import java.awt.event.*; class Button2 implements ChangeListener { //what's whong here public void changePerformed(ChangeEvent s) { //and here? System.out.println("Pressed the

有人能解释一下这段代码中的侦听器有什么问题吗

我刚开始学习监听器是如何工作的,并没有真正意识到
changelister
是如何工作的

import java.awt.event.*;

class Button2 implements ChangeListener { //what's whong here

  public void changePerformed(ChangeEvent s) { //and here?
    System.out.println("Pressed the button " + s.getChangeCommand());
  }
}
然后我添加了两个按钮

.....
but1.addChangeListener(new Button2 ());
but2.addChangeListener(new Button2 ());
.....

ChangeListener
所需的方法是
stateChanged
,而不是
changePerformed


编辑:另外,正如上面的一条评论所指出的,我知道的
ChangeListener
javax.swing.event
中,而不是
java.awt.event

ChangeListener
所需的方法是
stateChanged
,而不是
changePerformed


编辑:另外,正如上面的评论所指出的,我所知道的
ChangeListener
javax.swing.event
中,而不是
java.awt.event
正如zerocrats所写的
ChangeListener
的方法实际上是
stateChanged()
而不是
changePerformed()

此外,
CahngeEvent
没有名为
getChangeCommand()
的方法。如果您使用的是常规的
JButton
s,并且只想点击按钮,为什么不使用好的旧按钮呢


正如zerocrats所写的那样,ChangeListener的方法实际上是
stateChanged()
,而不是
changePerformed()

此外,
CahngeEvent
没有名为
getChangeCommand()
的方法。如果您使用的是常规的
JButton
s,并且只想点击按钮,为什么不使用好的旧按钮呢


您看到的错误是什么?为了更容易回答您的问题,您应该指定您已经知道的内容,例如编译器给出错误消息(并给出确切的错误消息),或者在运行时没有发生任何事情,或者老师说即使它可以工作,但它是错误的。您导入了哪个ChangeListener/ChangeEvent。我的java.awt.event包中没有。谢谢!工作正常!您看到的错误是什么?为了更容易回答您的问题,您应该指定您已经知道的内容,例如编译器给出错误消息(并给出确切的错误消息),或者在运行时没有发生任何事情,或者老师说即使它可以工作,但它是错误的。您导入了哪个ChangeListener/ChangeEvent。我的java.awt.event包中没有。谢谢!工作正常!如果我将changePerformed更改为stateChanged,则错误不会消失。@user693567哪个错误?请描述您看到的错误。eclipse写入错误在System.out.println(“按下按钮”+s.getChangeCommand())中;line@user693567javax.swing.event.ChangeEvent没有getChangeCommand(),如果我将执行的更改更改更改为stateChanged,则错误不会消失。@user693567哪个错误?请描述您看到的错误。eclipse写入错误在System.out.println(“按下按钮”+s.getChangeCommand())中;line@user693567javax.swing.event.ChangeEvent没有getChangeCommand()
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class MyButtonListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {
         System.out.println("Pressed the button " + e.getActionCommand());
    }
}