我想在点击Jbutton时更改图标。我将button1绑定到一个打印“开”或“关”的动作命令。我想让按钮更改图标,从一个圆圈的图像意味着关闭,到一个电源按钮的图像意义。我已经尝试了很多东西但是找不到解决方案所以我想知道是否有一种简单的方法可以做到这一点,或者是否有一种简单的方法,并且不得不为每个按钮制作更复杂的方法。任何建议都非常感谢,因为我处于死胡同。免费编辑大块或添加东西,因为我对所有想法开放。代码包含在下面
#editar\_form\_btn
答案 0 :(得分:3)
您忘记在任何按钮上拨打setIcon(...)
。正如AbstractButton API将告诉您(这是JButton的父类),只需调用其setIcon(Icon icon)
方法并传入新图标,即可轻松更改任何按钮的图标。将来,首先转到API,因为您将在那里学到很多东西,包括完全符合您需要的方法。
其他建议:不要给你的变量名称与它们不匹配。例如,你正在调用一个ImageIcon变量“button1”,好像它是一个JButton,这会混淆其他编码器和你未来的自我。相反,为什么不把它称为“onIcon”或“offIcon”,这个名称使代码自我评论。
代码的一个主要问题,以及写入的一个原因,你不能使它工作 - 你的JButton对象被分配给局部变量,这些变量只在它们被声明的方法中可见。如果您希望JButton对象能够在类的不同方法中更改图标,则必须在类级别声明它们,而不是在方法或构造函数或更深层次上声明。