java - Java中的相对图像路径
问题描述
我在用:
ImageIcon ii = new ImageIcon(getClass().getResource("ball.png"));
image = ii.getImage();
访问与我的 .java(记事本)文件(以及编译后的类文件)位于同一文件夹中的图像。但是,我似乎无法运行,只能编译。请问有什么想法吗?
我可以让它在 Eclipse 中工作,但不能在用记事本编写的直接 Java 文件中工作。
对不起,没有回到这个问题,但我一直在尝试别的东西。
我试过: ImageIcon("C:/path/to/your/appication/ball.png");
它似乎不起作用。
我正在尝试找到一种方法来从直接的 Java 记事本文件中引用图像,而不是使用任何 IDE。当我在 Eclipse 中拥有这些类时,它们可以工作,在获取 Java 文件并将它们复制到其他地方之后,我删除了包引用,我可以编译,但是在我尝试运行之后,我得到的是以下错误消息:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: Cannot invoke "java.net.URL.toExternalForm()" because "location" is null
at java.desktop/javax.swing.ImageIcon.<init>(ImageIcon.java:217)
at Ball.loadImage(Ball.java:26)
at Ball.initBall(Ball.java:18)
at Ball.<init>(Ball.java:10)
at Board.gameInit(Board.java:50)
at Board.initBoard(Board.java:43)
at Board.<init>(Board.java:34)
at Breakout.initUI(Breakout.java:19)
at Breakout.<init>(Breakout.java:14)
at Breakout.lambda$main$0(Breakout.java:32)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:316)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
解决方案
推荐阅读
- java - GraphQL Apollo Federation-JVM 中 @extends 类型的解析器问题
- php - 如何在 KEY=> VALUE 中为 php 中的 array_combine 填充一个空值
- php - 如何在laravel中获取每个月的帖子数
- django - 如何在 Django 中序列化特定的 ID?
- java - 如何开始关于 nfc 标签发现的新活动?
- python - 如何从python中的列表中分离int和str
- javascript - 使用 Yup 进行日期选择器验证
- linux - Cron bash 脚本 - 从未执行过的查找命令
- javascript - 将数据从自定义模式传递到组件中的 html 表 - 角度
- botframework - 聊天机器人异常:OnTurnAsync 异常