gpt4 book ai didi

java - 将文件分配给图像编译错误: javax. imageio.IIOException

转载 作者:行者123 更新时间:2023-12-02 13:21:55 27 4
gpt4 key购买 nike

我正在尝试使用 swing 将图像指定为背景。我找到了多种方法来做到这一点,但我似乎总是遇到同样的问题。我找到了一个很好的自定义类可以在这里使用 > http://www.camick.com/java/source/BackgroundPanel.java

这是我正在使用的代码...

编辑代码:添加构造函数

import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.io.File;
import java.io.IOException;

public class TestMain {
TestMain(){
JFrame frame = new JFrame("Test");
Image img = null;
File f = new File("../images/Background.png");
img = ImageIO.read(getClass().getResource(f));
System.out.println("File " + f.toString());


BackgroundPanel background = new BackgroundPanel(img, BackgroundPanel.SCALED, 0.50f, 0.5f);

frame.setContentPane(background);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 100);
frame.setVisible(true);
}

public static void main(String[] args) throws IOException{
new TestMain();
}
}

这就是图像的样子......

enter image description here

当我尝试运行此代码时,出现编译错误错误:(14, 51) java: 不兼容的类型:java.io.File 无法转换为 java.lang.String。如果有人能弄清楚如何帮助我做到这一点,我将不胜感激。

最佳答案

In the same project, this is the line of code I'm using to make the image show up for a label (same location), and it works > charImgLabel.setIcon(new ImageIcon(new javax.swing.ImageIcon(getClass().getResource(image)).getImag‌​e().getScaledInstanc‌​e(100, 100, "../images/Character.png".SCALE_SMOOTH)));

好吧,让我们暂时看一下明显的编译器错误。

我假设image是对当前类加载器上下文中图像路径的String引用,这意味着

img = ImageIO.read(f);

实际上应该是

img = ImageIO.read(getClass().getResource(image));

假设图像存储在类加载器上下文中(即 Jar/类路径)并且您指定的路径是正确的,那么这应该加载您的图像

关于java - 将文件分配给图像编译错误: javax. imageio.IIOException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43530843/

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