提问人:Ralph Daniel Honra 提问时间:9/17/2022 最后编辑:queegRalph Daniel Honra 更新时间:9/17/2022 访问量:456
设置 Icon 时引发 NullPointerException
Throwing NullPointerException when setting the Icon
问:
我目前正在学习如何在 JLabel 中插入图像。到目前为止,我正在遵循文档和说明,但仍然抛出一个.我是否遗漏了语法或其他东西?NullPointerException
我将发送一张图片,以更好地了解包和文件的位置和名称。很抱歉发送照片。
例外:
线程“AWT-EventQueue-0”java.lang.NullPointerException 中的异常:无法调用“java.net.URL.toExternalForm()”,因为“location”为 null 位于 java.desktop/javax.swing.ImageIcon。(ImageIcon.java:232) 在com.mycompany.hotel_management_system。Log_In。(Log_In.java:28) 在com.mycompany.hotel_management_system。Log_In.lambda$main$0(Log_In.java:329) 在 java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318) 在 java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773) 在 java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720) 在 java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714) 在 java.base/java.security.AccessController.doPrivileged(AccessController.java:399) 在 java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) 在 java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742) 在 java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) 在 java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) 在 java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) 在 java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) 在 java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) 在 java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
答:
最有可能的是,您尝试加载的图像在预期位置找不到。
getClass().getResource(...)
应该返回一些 URL,但我怀疑那是空的。 将该行分成几行,并在两者之间检查结果(通过记录 URL,或仅通过与 null 进行比较)。
如果该 URL 如我所怀疑的那样为 null,则您要加载的资源不存在。将其添加到类路径或更正资源名称。
评论
getClass().getClassLoader().getResource(...)
评论
Log_In.class
Images
Images
212849.jpg
label.setIcon(new ImageIcon(getClass().getResource("Images/212849.jpg")));
Images
Clean and Build
Clean and Build
Build