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.eventChangeListener
所需的方法是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());
}
}