Java 日食,韩元';你不能导入图像吗?
由于某些原因,以下代码未正确导入图像并显示它。如果我把绘图部分注释掉,它就可以工作了。我不明白为什么Java 日食,韩元';你不能导入图像吗?,java,eclipse,Java,Eclipse,由于某些原因,以下代码未正确导入图像并显示它。如果我把绘图部分注释掉,它就可以工作了。我不明白为什么 import javax.swing.*; import java.awt.*; import java.net.URL; public class BoardBuild extends JPanel{ String picPath = "pictures/"; String[] fileName = {"board.png"}; ClassLoader cl = Bo
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class BoardBuild extends JPanel{
String picPath = "pictures/";
String[] fileName = {"board.png"};
ClassLoader cl = BoardBuild.class.getClassLoader();
URL imgURL[] = new URL[1];
Toolkit tk = Toolkit.getDefaultToolkit();
Image imgBG;
public BoardBuild() throws Exception {
for (int x = 0; x < 1; x++)
imgURL[x] = cl.getResource(picPath + fileName[x]);
imgBG = tk.createImage(imgURL[0]);
}
public void paintComponent(Graphics g) {
g.drawImage(imgBG, 0, 0, 150,150 , 0, 0,73, 73, this);
}
}
import javax.swing.*;
导入java.awt.*;
导入java.net.URL;
公共类BoardBuild扩展了JPanel{
字符串picPath=“pictures/”;
字符串[]文件名={“board.png”};
ClassLoader cl=BoardBuild.class.getClassLoader();
URL imgURL[]=新URL[1];
Toolkit tk=Toolkit.getDefaultToolkit();
图像imgBG;
public BoardBuild()引发异常{
对于(int x=0;x<1;x++)
imgURL[x]=cl.getResource(picPath+fileName[x]);
imgBG=tk.createImage(imgURL[0]);
}
公共组件(图形g){
g、 drawImage(imgBG,0,0,150150,0,0,73,73,本);
}
}
由于是Eclipse,图片位于文件夹workspace\BoardMaskTest\src\pictures
中。
非常感谢您的帮助。请放在下面:
workspace/BoardMaskTest/pictures/
相应地改变你的道路 不要在picPath中包含“src”
String picPath = "/pictures/";
资源取自类路径,在jar中查看7zip或Winzip可以看到:
String picPath = "/pictures/";
此外,图像可以按如下方式加载:
for (int x = 0; x < 1; x++)
URL url = getClass(().getResource(picPath + fileName[x]);
imgBG = ImageIO.read(url);
InputStream in = getClass(().getResourceAsStream(picPath + fileName[x]);
imgBG = ImageIO.read(in);
for(int x=0;x<1;x++)
URL=getClass(().getResource(picPath+fileName[x]);
imgBG=ImageIO.read(url);
InputStream in=getClass(().getResourceAsStream(picPath+fileName[x]);
imgBG=图像读取(in);