Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 应用程序在构建时会丢失图像_Java_Image_Swing - Fatal编程技术网

Java 应用程序在构建时会丢失图像

Java 应用程序在构建时会丢失图像,java,image,swing,Java,Image,Swing,对于我正在进行的一个项目,我制作了一张宾果卡。基本功能是随机生成一张卡,并在STD out和我手工制作的Swing GUI中显示。此应用程序中有多个java文件 java-主文件。这是程序运行时运行的内容。 java-创建宾果卡,将其打印到STD out,并检查宾果 java-使用二维图形绘制GUI的背景 java-调用BingoBG并创建25个带有board值的标签。当Bingo_卡找到一个匹配的号码(由STD IN输入)时,它不再打印该号码,而是打印Chip.png(与java文件位于同一个

对于我正在进行的一个项目,我制作了一张宾果卡。基本功能是随机生成一张卡,并在STD out和我手工制作的Swing GUI中显示。此应用程序中有多个java文件

java-主文件。这是程序运行时运行的内容。 java-创建宾果卡,将其打印到STD out,并检查宾果 java-使用二维图形绘制GUI的背景 java-调用BingoBG并创建25个带有board值的标签。当Bingo_卡找到一个匹配的号码(由STD IN输入)时,它不再打印该号码,而是打印Chip.png(与java文件位于同一个包文件夹中)一个Bingo芯片图像,使其看起来被覆盖

当我通过NetBeans运行它时,它可以完美地工作,但当我清理并构建它,然后在终端中运行jar时,除了显示宾果芯片图像之外,其他一切都可以工作。有人知道为什么会这样吗

编辑:下面是我加载图像的方式

ImageIcon chip; //declare ImageIcon
chip = new ImageIcon("chip75.png"); //define it as chip75.png. It is stored in package folder
JLabel B1Chip; //declare empty Label
B1Chip = new JLabel(chip); //define the Label with just the ImageIcon
B1Chip.setBounds(22, 112, chip.getIconWidth(), chip.getIconHeight()); //place at (22,112)
frame.add(B1Chip, null); //Add to frame

将图像文件复制到jar中或给出图像文件的绝对路径

您应该使用以下方法访问
图像

ImageIcon chip = new ImageIcon(ClassName.class.getResource("/chip75.png"))
更多信息,请访问
信息页面
链接中提到的关于将
图像
添加到
NetBeans
项目的详细答案

更重要的是,使用它是明智的,因为它至少会通过抛出
IOException

Throws:

IllegalArgumentException - if input is null.
IOException - if an error occurs during reading.

另一方面,
ImageIcon
将隐藏
异常
如果有:-)

显示如何加载图像。关于如何在项目中加载图像,请看一下这一点。希望有帮助:-)@Qwerky:更新了原始问题,以显示它是怎样的loaded@MichaelDornisch:使用
ClassNane.class.getResource(“/chip75.png”)
inside
ImageIcon
constructor:-)@nIcEcOw如果可以,请将您所做的作为答案发布。你包含的链接回答了我的问题