【问题标题】:How to Remove an icon on a JButton?如何删除 JButton 上的图标?
【发布时间】:2014-01-22 20:47:51
【问题描述】:

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

【问题讨论】:

  • 您的问题可以使用一些代码来澄清您的问题。

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


【解决方案1】:

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

button.setIcon(null);

【讨论】:

  • 这将完美运行。好像我只是想多了。感谢您的帮助。
【解决方案2】:

使用以下代码:

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

【讨论】:

    【解决方案3】:

    最好的方法是用相同大小的透明图标替换现有图标。这将确保按钮不会改变大小,并且可能会干扰布局中其他 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..
    

    【讨论】:

      猜你喜欢
      • 2021-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-27
      • 2011-01-28
      相关资源
      最近更新 更多