gpt4 book ai didi

java - 自定义 JButton 子类 setIcon 方法不起作用

转载 作者:行者123 更新时间:2023-11-29 08:00:04 26 4
gpt4 key购买 nike

编辑:这是一个 Netbeans 项目。所以我创建了一个名为 Card 的 JButton 子类。我正在尝试在创建时为按钮设置一个图标。

package matchinggame;

public class Card extends JButton {

final static ImageIcon defaultIcon = new ImageIcon("cardback.jpg");

...

public Card(int secretIconIndex) {
//Set the button's icon to the default icon
setIcon(defaultIcon);
...
}

...

}

如果您想知道,“cardback.jpg”图像的位置是:

C:\Users\Jesse\SkyDrive\Documents\RCS\Grade 12\ICS4U\M9\MatchingGame\src\matchinggame\cardback.jpg

它与所有类都在同一个文件夹/包中,所以我相信我可以像那样保留相对文件路径。当我运行程序时,所有按钮都是空白的(没有文本或图标)。这是构造函数问题还是文件路径问题?

最佳答案

如果这是一个 Eclipse 项目,请将图像存储在 src/ 文件夹中的 resources/ 文件夹中。

setButtonIcon("cardback.jpg");

public void setButtonIcon(String filename) {
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream input = classLoader.getResourceAsStream("/"+filename);
ImageIcon icon = new ImageIcon(ImageIO.read(input));
super.setIcon(icon);
}

关于java - 自定义 JButton 子类 setIcon 方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14947361/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com