如何删除JButton上的图标?

时间:2014-01-22 20:47:51

标签: java swing user-interface intellij-idea jbutton

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

3 个答案:

答案 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..