将图像添加到jframe

时间:2013-01-17 02:02:48

标签: java image swing jframe jlabel

我一直在尝试所有这些示例代码并且没有任何工作,它总是希望我有一个尝试/捕获,这意味着我必须ini。无论如何变量和我正在撕裂我的头发,我有一个jframe我的图像的确切大小,我想要的是它填充整个jframe,你也可以这样做,如果图像是透明的,你可以看到整个jframe。

提前致谢

2 个答案:

答案 0 :(得分:1)

frame.add(new JLabel(new ImageIcon("path/to/image.png"));

有一个名为ImageIcon的类可用于Swing中的图像。 Javadocs for ImageIcon

There are also many other ways to use ImageIcon.

答案 1 :(得分:1)

根据您的说法,您的示例代码希望您使用try / catch块,我猜您正在使用ImageIO类。它会返回BufferedImage,但无法添加到框架中。请参阅此处的ImageIcon课程,您可以使用JLabel

frame.add(new JLabel(new ImageIcon("my_image.png"));

如果你的图像在你的罐子外面,这应该有效。如果它包含在jar中,请使用类加载器为您获取资源。

URL url = getClass().getClassLoader().getResource("my_image.png");
ImageIcon icon = new ImageIcon(url);
frame.add(new JLabel(icon));

希望这有效。