当我单击我在 Netbeans 的 JPanel 中创建的按钮时,我实现了以下代码来更改我的字符图像,但它甚至没有被调用(通过添加一行在控制台中打印出来来测试这一点,但甚至没有打印出来。任何帮助将不胜感激。
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.out.println("Switch!");
snowman.removeAllImages();
snowman.addImage(image2);
在你的操作中尝试和捕获语句e.pritntrace调试代码和找到你的错误非常有帮助,希望这对你有帮助
当我单击我在 Netbeans 的 JPanel 中创建的按钮时进行更改,但它甚至没有被调用(通过添加一行在控制台中打印出来对此进行了测试,但甚至没有被打印出来。
您可能需要确保以下几点:
- 确保您有兴趣在单击时生成事件的按钮已添加为 ActionListener 对象
例:
-
如果为操作侦听器对象创建内部类,
btn.addActionListener(new ButtonHandler());
-
如果使用 ActionListener 实现当前类,
btn.addActionListener(this);
-
如果创建匿名操作侦听器对象,
btn.addActionListner(new ActionListener(){ @Override public void actionPerformed(ActionEvent e){ //To do when button is clicked } });
我看到您创建了自己的方法来处理操作事件:
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt)
- 如果这样做,请记住在添加到按钮的 ActionListener 对象的
actionPerformed()
方法中填写代码。
例:
@Override
public void actionPerformed(ActionEvent e){
jButton2ActionPerformed(e);
}
user3437460 很好地解释了。如果这没有帮助,请在此处复制更多代码来理解它。添加一个按钮侦听器,并确保从中调用了私有方法,如下所示。
btn.addActionListner(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
jButton2ActionPerformed(e);
}
});