gpt4 book ai didi

java - 应用程序在构建时丢失图像

转载 作者:行者123 更新时间:2023-11-29 05:38:44 26 4
gpt4 key购买 nike

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

BingoFinal.java - 主文件。这是程序运行时运行的内容。Bingo_Card.java - 创建宾果卡,将其打印为 STD,并检查宾果游戏BingoBG.java - 使用 2D 图形绘制 GUI 的背景DrawBingoCard.java - 调用 BingoBG 并创建 25 个带有棋盘值的标签。当Bingo_Card找到匹配的号码(STD IN输入)后,不再打印号码,而是打印Chip.png(和java文件在同一个包文件夹下),一张宾果筹码图片,让它看起来像被覆盖了。

当我通过 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

最佳答案

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

ImageIcon chip = new ImageIcon(ClassName.class.getResource("/chip75.png"))

更多信息可以在 info page 上找到的 tag: embedded-resourceinfo-page 链接中提到了有关将 images 添加到 NetBeans 项目的详细答案。

更重要的是,明智的做法是使用 ImageIO.read ,因为如果出现问题,它至少会通过抛出 IOException

让您知道
Throws:

IllegalArgumentException - if input is null.
IOException - if an error occurs during reading.
另一方面,

ImageIcon 将隐藏 exception(如果有的话):-)

关于java - 应用程序在构建时丢失图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18506188/

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