public class BackgroundPanel extends JPanel {
File f;
BackgroundPanel(File file) {
f = file;
}
@Override
public void paintComponent(Graphics g) {
Image image;
try {
image = ImageIO.read(f);
}
catch (IOException e) {
image = null;
}
g.drawImage(image, 0, 0, 850, 1100, this);
}
}
我希望我遇到的问题不是太具体而无法找到帮助。这总是为-specific-文件抛出异常。我从我的Windows文件夹中加载了一个示例jpgs,它加载正常。但是,我需要使用的jpgs不会加载。我相信我正在使用正确的文件路径,如果我使用canRead(),它将返回true。我真的无法弄清楚为什么它不会加载。
有什么建议吗?
答案 0 :(得分:0)
canRead()没用。因为image = ImageIO.read(f); canRead()将在read()函数中调用。如果canRead()返回false,则会抛出IOException(“无法读取输入文件!”);如果您不确定文件路径是否正确,则应将示例jpgs和特定的jpgs放在一起。我认为问题在于你的jpgs文件。它们不会被ImageIO.read()解码为jpgs。