我有一个带有设置按钮的程序。此按钮具有显示图像的图像图标。关于如何在按下操作时执行操作的任何提示。这是代码
JButton imageButton = new JButton(new ImageIcon("/Users/Sam/Programming/Files/gears.png"));
它工作正常。但是当我想使用
else if(ae.getActionCommand().equals(imageButton)){//doStuff}
它不起作用。我的动作预设方法有效,在这里
public void actionPerformed(ActionEvent ae)
{}
最佳答案
您的ActionListerner没有响应,因为getActionCommand()应该返回一个String。在这种情况下,它应该是JButton的名称。
else if(ae.getActionCommand().equals(imageButton.getText())){//doStuff}
将其更改为imageButton.getText()应该可以解决该问题。
如果不确定,只需通过setActionCommand()手动设置ActionCommand并使用相同的String来验证.equals()方法中的getActionCommand。