URLImageSource 失败 Java 10 但不是 Java 8
URLImageSource is failing with Java 10 but not 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)
问题是我为模块中的文件调用了 getResource(),但在系统 class (Icon.class) 上调用了它,这在 Java 中是不允许的9 起。
改变
Icon.class.getResource("/icon/songkong20.png")));
到
SongKong.class.getResource("/icon/songkong20.png")));
已解决问题。
我的 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)
问题是我为模块中的文件调用了 getResource(),但在系统 class (Icon.class) 上调用了它,这在 Java 中是不允许的9 起。
改变
Icon.class.getResource("/icon/songkong20.png")));
到
SongKong.class.getResource("/icon/songkong20.png")));
已解决问题。