- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在JPanel上显示图片,但我不断收到错误消息:
java.lang.IllegalArgumentException: input == null!
public void actionPerformed(ActionEvent e) {
try {
Image image=ImageIO.read(getClass().getResource("img/" +num.getText()+".jpg"));
Image resized = image.getScaledInstance(200, 200, 100);
pictureFrame.setIcon(new ImageIcon(resized));
} catch (Exception ex){
ex.printStackTrace();
}
}
Java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1362)
at work.Item.actionPerformed(Item.java:96)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6297)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
at java.awt.Component.processEvent(Component.java:6062)
at java.awt.Container.processEvent(Container.java:2039)
at java.awt.Component.dispatchEventImpl(Component.java:4660)
at java.awt.Container.dispatchEventImpl(Container.java:2097)
at java.awt.Component.dispatchEvent(Component.java:4488)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4575)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4236)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4166)
at java.awt.Container.dispatchEventImpl(Container.java:2083)
at java.awt.Window.dispatchEventImpl(Window.java:2489)
at java.awt.Component.dispatchEvent(Component.java:4488)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:668)
at java.awt.EventQueue.access$400(EventQueue.java:81)
at java.awt.EventQueue$2.run(EventQueue.java:627)
at java.awt.EventQueue$2.run(EventQueue.java:625)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:641)
at java.awt.EventQueue$3.run(EventQueue.java:639)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:638)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
最佳答案
假设getClass()
返回com.foo.bar.MyActionListener
,getClass().getResource("img/foo.jpg")
在foo.jpg
包中查找名为com.foo.bar.img
的文件。如果镜像不在此程序包中,或者它在此程序包中,但其根目录不在类路径中,则该方法将返回null。
如果img文件夹位于类路径的根目录下,则应使用getClass().getResource("/img/foo.jpg")
(注意开头的/
)或getClass().getClassLoader().getResource("img/foo.jpg")
。
关于java - Class.getResource()返回null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46915106/
两者有什么区别? 我的资源文件打包在根级包中。在我测试的特定情况下,调用 Class.class.getResource("/rec.txt") 似乎有效。但是,当我尝试在更大的环境 (hadoop)
该应用程序具有多语言 支持。但是我们在使用应用程序上下文刷新 Resources 时遇到了问题。 目前,我的 ViewModels 正在扩展 AndroidViewModel,这样我们就可以访问 Vi
我想了解使用 View.getResources() 和 View.getContext().getResources() 的真正区别。 例如,我必须从资源中为 TextView 设置颜色.. vie
getClass().getClassLoader().getResource()和getClass.getResource()有什么区别? 从资源中检索文件时,在什么情况下应该使用哪一个? 最佳答案
我从 What is the difference between Class.getResource() and ClassLoader.getResource()? 了解到并从自己的代码中,即 g
我一直在和我的伙伴一起制作 2D 游戏,并且我通过一些 Youtube 教程学习了很多关于一些基本游戏开发概念的知识。我正在学习的其中一件事是 Sprite (对于那些不知道的,2D 图像渲染到屏幕)
我有简单的 Activity : public class TestActivity extends MainActivity { @Override public void o
当我的测试类位于默认包中时,下面的测试方法通过,而当我将其移动到包中时,测试方法失败。 目录结构如下: src/ main/ java/ some.package/ r
这个问题已经有答案了: JavaFX: Weird ClassNotFoundException after updating to Java 9 (1 个回答) 已关闭 4 年前。 我是 Java
我想要以下形式的资源 URL C:/Users/.../build/classes/jam/lena1.png 为了实现这一点,我编写了以下代码 System.out.println(getClass
我希望有人能在这里帮助我,因为我已经与一个问题作斗争有一段时间了。在我的主类中,我使用以下命令: System.out.println(getClass().getClassLoader().getR
我有以下代码,用于在我的应用程序中创建带有两个选项卡的自定义 ListView: package com.test.testing; import android.content.Context; i
大家。 我是 Java 新手,正在使用 UI 制作培训项目。在培训过程中,我决定从资源加载图标并将其加载移动到不同的类中。并遇到问题。我真的试图自己找到答案,但找不到。代码如下。 主类 package
我在src文件夹下(在resources文件夹下)放了一些.txt文件。 但我无法在运行时从该资源创建有效的 File。 String path = this.getClass().getResour
这个问题在这里已经有了答案: Way to access resource files in python (4 个答案) 关闭 9 年前。 在 Java 中,如果我想读取包含算法资源数据的文件,我
我已经在 java SE 中设置了基本的 maven 项目,其中包含一个资源: main -java -resources -config -> database.properties
我有一个 A 类,它获取一个配置文件: this.getClass().getResource("cfgFile"); 现在我创建了一个需要 A 的 cfgFile 的新类 B。现在我正在做: A.c
这段代码不在mainActivity类中 错误: cannot find symbol method getResources() 代码: public void printPhoto(int im
我正在学习教程 here .该文件位于项目的同一根文件夹中。当它在 src 文件夹和同一个包文件夹中时,我已经尝试过这样做。这 3 个位置都不起作用。 具体的代码行是: ImageIcon ii =
我有以下问题。在我们的集成测试中,我们使用不同的配置,该配置将在测试之前使用以下代码从测试资源中加载: URL resource = ClassLoader.getSystemResource("ap
我是一名优秀的程序员,十分优秀!