Clean and Build (Netbeans) 后程序图标未显示
Program icon not showing up after Clean and Build (Netbeans)
我是 Java 的新手,也在摇摆。我刚刚使用 JFrame 创建了一个小应用程序并添加了一些按钮和文本字段,我还有一个方法可以为任务栏和左下角的图标设置我想要的图标。
当我 运行 Netbeans 中的程序时,一切似乎都正确,但是当我构建项目时,它的图标没有显示。我尝试了很多东西,但 none 对我有用。
这是我在程序中使用的方法:
private void setIcon() {
ImageIcon imageIcon = new ImageIcon("src/main/java/icons/steam.png");
this.setIconImage(imageIcon.getImage());
}
然后我从构造函数中调用方法。
谢谢。
编辑 1:
执行安德鲁所说的,现在我有了这个:
BufferedImage img = null;
try {
URL url = getClass().getResource("src/main/java/icons/steam.png");
img = ImageIO.read(url);
} catch (IOException e) {
}
this.setIconImage(img);
那是在构造函数上。但是当我 运行 它时,我得到:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: input == null!
at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1400)
我尝试了不同的路径,但我无法得到它。是的,我确定“steam.png”就在那里。
我一直在寻找解决方案,终于找到了(感谢 Andrew 的评论)
首先,我编辑了我的代码,如您在 EDIT 1
中所见
在那之后,我得到了一个 IllegalArgumentException
,问题是我在 /src
下没有“资源”文件夹
所以我在 src/main/resources
下创建了我的资源文件夹,并将我的图片放在里面
然后我用
得到了它
URL url = getClass().getResource("/icons/steam.png");
img = ImageIO.read(url);
这就是我的问题的解决方案,现在当我 运行 程序图像已加载时。
非常感谢!
我是 Java 的新手,也在摇摆。我刚刚使用 JFrame 创建了一个小应用程序并添加了一些按钮和文本字段,我还有一个方法可以为任务栏和左下角的图标设置我想要的图标。
当我 运行 Netbeans 中的程序时,一切似乎都正确,但是当我构建项目时,它的图标没有显示。我尝试了很多东西,但 none 对我有用。
这是我在程序中使用的方法:
private void setIcon() {
ImageIcon imageIcon = new ImageIcon("src/main/java/icons/steam.png");
this.setIconImage(imageIcon.getImage());
}
然后我从构造函数中调用方法。
谢谢。
编辑 1:
执行安德鲁所说的,现在我有了这个:
BufferedImage img = null;
try {
URL url = getClass().getResource("src/main/java/icons/steam.png");
img = ImageIO.read(url);
} catch (IOException e) {
}
this.setIconImage(img);
那是在构造函数上。但是当我 运行 它时,我得到:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: input == null!
at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1400)
我尝试了不同的路径,但我无法得到它。是的,我确定“steam.png”就在那里。
我一直在寻找解决方案,终于找到了(感谢 Andrew 的评论)
首先,我编辑了我的代码,如您在 EDIT 1
中所见在那之后,我得到了一个 IllegalArgumentException
,问题是我在 /src
所以我在 src/main/resources
下创建了我的资源文件夹,并将我的图片放在里面
然后我用
得到了它URL url = getClass().getResource("/icons/steam.png");
img = ImageIO.read(url);
这就是我的问题的解决方案,现在当我 运行 程序图像已加载时。
非常感谢!