猿问

URLImageSource 在 Java 10 中失败,但在 Java 8 中没有

我的 Java 应用程序在 Java 8 上运行良好,但现在由于此行,Java 10 失败了


setIconImage(Toolkit.getDefaultToolkit().createImage(Icon.class.getResource("/icon/songkong20.png")));

引用的图像存在并在使用 Java 8 时显示。


这会导致此异常


java.lang.NullPointerException

    at java.desktop/sun.awt.image.URLImageSource.getConnection(URLImageSource.java:101)

    at java.desktop/sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:111)

    at java.desktop/sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:263)

    at java.desktop/sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:212)

    at java.desktop/sun.awt.image.ImageFetcher.run(ImageFetcher.java:176)


智慧大石
浏览 279回答 1
1回答

HUX布斯

问题是我为模块中的文件调用了 getResource(),但在系统类 (Icon.class) 上调用了它,从 Java 9 开始这是不允许的。改变Icon.class.getResource("/icon/songkong20.png")));至SongKong.class.getResource("/icon/songkong20.png")));解决了这个问题。
随时随地看视频慕课网APP

相关分类

Java
我要回答