JPanel 按钮没有响应



当我单击我在 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);
     }
  });

最新更新