Java Swing 问题

标签 java swing resources classloader

我有一个带有卡片的板,我必须在其中找到匹配项。我有两个变量 buttonAbuttonB 来跟踪单击的方 block 。

当它们相等时,我只需添加以下代码即可将它们从板上删除:

cards[buttonA].setVisible(false);
cards[buttonB].setVisible(false);

找到匹配项后,如何在所有按钮上放置相同的图像? 我尝试了以下操作,但它没有更改图像,只是在按钮上留下相同的图像

cards[buttonA].setIcon(new ImageIcon("myPic.png");

最佳答案

您可能需要使用:

new ImageIcon(getClass().getResource("/path/to/myPic.png"));

此资源位于类路径上的位置。 (请记住,如果使用 IDE,您需要确保将 PNG 资源复制到输出目录。例如,在 IDEA 中,这是在编译器设置菜单中实现的)

编辑:我永远记不起路径是否以 / 开头。

关于Java Swing 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/628290/

相关文章:

java - Artifactory java.lang.ClassNotFoundException : org. glassfish.jersey.servlet.internal.ServletContainerProviderFactory

java - Swing 全尺寸 JPanel

java - 通过按下按钮更改 Jtextfield ("MobilePhone Interface")

android - 可以从变量设置资源吗?

Android布局崩溃: Binary XML file line #10 must supply a layout width

android - 哪个android文件夹到夜间模式的资源,v21 +?可绘制之夜-v21?

java - 连接可扩展字符串和字符串

java - 如何使用使用json对象获取数据并显示在listview中?

java - @TestSubject 和@InjectMocks 之间的区别?

java - 将 JTable 的单元格居中到 JTable 的中间