我一直在尝试所有这些示例代码,但都不起作用,它总是希望我有一个 try/catch,这意味着我必须初始化。无论如何,变量,我正在把头发撕掉,我有一个与图像精确大小的jframe,我想要的只是填充整个jframe,另外,如果图像是透明的,你能做到吗?你可以看到整个jframe。
提前致谢
frame.add(new JLabel(new ImageIcon("path/to/image.png"));
Swing 中有一个类ImageIcon
可以用于图像。Javadocs 用于ImageIcon
根据您的说法,您的示例代码希望您使用try / catch
块,我猜您正在使用ImageIO
该类。它会返回一个BufferedImage
无法添加到框架中的内容。ImageIcon
在此处查看可与 JLabel 一起使用的类
frame.add(new JLabel(new ImageIcon("my_image.png"));
如果您的图像在 jar 之外,这应该可以工作。如果它包含在 jar 中,请使用类加载器为您获取资源。
URL url = getClass().getClassLoader().getResource("my_image.png");
ImageIcon icon = new ImageIcon(url);
frame.add(new JLabel(icon));
希望这有效。