如何在JRadioButtons中使用Image而不是文本

时间:2012-12-29 18:22:02

标签: java swing user-interface imageicon jradiobutton

我有一组JRadioButtons。我想在JRadioButtons中使用图片而不是文字。所以我相信我必须使用它:

JRadioButton(Icon icon, boolean selected)

现在的问题是我不确定如何创建这个图标。我有我想要使用的图像,我已将图像复制到源代码文件夹中。它是.tiff格式。我想阅读.tiff图像(我相信inputStream)并将其转换为图标,以便我可以拥有我的JRadioButtons。

请帮助实现此目的。

提前致谢。

2 个答案:

答案 0 :(得分:1)

假设您将图像放在源文件夹com.foo.bar中,并且您的构建过程使用您的类复制此文件,以便在运行应用程序时它位于类路径中(这就是所有IDE所做的事情)默认),你可以使用

new ImageIcon(MyClass.class.getResource("/com/foo/bar/MyImage.png"))

给你一个偶像。

我不确定Java是否支持tiff格式,因此您可能需要将图像转换为另一种支持的格式才能加载它(gif,JPEG和PNG可以正常工作)。

答案 1 :(得分:1)

如果您收到NullPointerException,则可能意味着图片不在您指示的路径上。

你说你把它卡在了src文件夹中,所以这应该有效:

new ImageIcon(getClass().getResource("icon.jpg"))