如何删除JButton上的图标?

我正在尝试制作一个记忆匹配游戏,并且我点击时将我放置在JButton上的图标图像。 我的问题是,有没有办法从JButton中删除图标? 我想在用户点击时显示图像,显示图像,如果用户点击的第二个按钮与第一个按钮没有相同的图像,那么它就会消失……任何想法?

简单,将图标设置为null 。 它没有图标,因此将其删除。

 button.setIcon(null); 

使用以下代码:

  JButton button = new JButton(); button.setIcon(null); 

最好的方法是用相同大小的透明图标替换现有图标。 这将确保按钮不会改变大小,并可能会干扰布局中发生的其他GUI元素的放置。 例如

 BufferedImage ourIcon = ... BufferedImage invisibleIcon = new BufferedImage( ourIcon.getWidth(), ourIcon.getHeight(), BufferedImage.TYPE_INT_ARGB); 

然后,简单地说:

 // use a JToggleButton instead of a JButton - it will remain pressed JToggleButton button = new JToggleButton(new ImageIcon(ourIcon)); button.setPressedIcon(new ImageIcon(invisibleIcon)); // start a timer to change the state back, if required..