我正在尝试制作一个记忆匹配游戏,并且我点击了JButton时放置的图标图像。我的问题是,有没有办法从JButton中删除Icon?我想在用户点击时显示,图像显示,如果用户点击的第二个按钮与第一个按钮没有相同的图像,那么它就会消失......任何想法?
答案 0 :(得分:7)
简单,将图标设置为null
。它没有图标,因此将其删除。
button.setIcon(null);
答案 1 :(得分:3)
使用以下代码:
JButton button = new JButton();
button.setIcon(null);
答案 2 :(得分:2)
最好的方法是用相同大小的透明图标替换现有图标。这将确保按钮不会改变大小,并可能会干扰布局中发生的其他GUI元素的放置。 E.G。
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..