gpt4 book ai didi

java - 在 Windows 7 上更改 JRadioButton 图标

转载 作者:行者123 更新时间:2023-12-01 19:24:12 26 4
gpt4 key购买 nike

我创建了一个方法来更改按钮组中所有 jradiobuttons 的图标:

public void setRadioButtonIcons(final ButtonGroup gruppe){

Enumeration<AbstractButton> gruppeEnum = gruppe.getElements();

while (gruppeEnum.hasMoreElements()){
AbstractButton radio = gruppeEnum.nextElement();
Icon unselIcon = new ImageIcon( Thread.currentThread().getContextClassLoader().getResource("checkbox0.jpg").getPath());
Icon selIcon = new ImageIcon( Thread.currentThread().getContextClassLoader().getResource("checkbox1.jpg").getPath());
radio.setIcon(unselIcon);
radio.setSelectedIcon(selIcon);
}

}

这在使用 Java 1.6.0_16 的 Ubuntu 下运行良好。

当我在 Windows 7 和 java 1.6.0_18 下使用该方法时,图标不出现。他们只是失踪了。该程序不会抛出空指针...它找到图标,但不显示它们。有任何想法吗?似乎有点难以相信我在windows下竟然不能使用这么简单的功能。

我用 gif 和 jpg 尝试过。我还将图像放入 jar 中并尝试从文件系统加载它们 -> 相同的结果。

编辑:在此配置中,文件是从 jar 加载的。

最佳答案

    Icon unselIcon = new ImageIcon( Thread.currentThread().getContextClassLoader().getResource("checkbox0.jpg").getPath()); 
Icon selIcon = new ImageIcon( Thread.currentThread().getContextClassLoader().getResource("checkbox1.jpg").getPath());

你不应该在那里调用 getPath() ,而应该是:

    Icon unselIcon = new ImageIcon( Thread.currentThread().getContextClassLoader().getResource("checkbox0.jpg")); 
Icon selIcon = new ImageIcon( Thread.currentThread().getContextClassLoader().getResource("checkbox1.jpg"));

它将无法通过路径访问 jar 中的资源,而 ImageIcon 可以使用 URL 加载图像。

如果您仍然看不到图标,那么您使用的 L&F 可能没有使用这些图标,而是使用自己的图标。也许尝试使用不同的 L&F 测试代码。

关于java - 在 Windows 7 上更改 JRadioButton 图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2357815/

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