我有一个Eclipse Java项目,其中包含大约10个外部jar依赖项。它在Eclipse中运行良好,我也使用像ONE-JAR这样的工具导出它,它工作正常。
我面临的奇怪问题是图像。我在项目中的包中有所有图像,并且在导出时它们被包含但是它们没有显示在正在运行的项目中?
我不明白为什么?奇怪的是,在一些JPanel文本中,我使用带有嵌入式图像的HTML,例如:
URL url = myClass.class.getResource( "icons/icon.png");
这可以在输出中显示这些图像,但是直接由Java引用的图像,例如:
this.setIconImage(Toolkit.getDefaultToolkit().getImage("src/icons/icon.png"));
不行。从Eclipse运行时,同样的代码行完美运行。能否请您提出可能出现的问题,或者在导出此项目时应该怎么做。我应该切换到Ant还是Maven ???
答案 0 :(得分:3)
你应该这样做:
URL url = myClass.class.getResource( "icons/icon.png");
this.setIconImage(Toolkit.getDefaultToolkit().getImage(url));
Toolkit
也提供了接受网址的方法,请参阅java.awt.Toolkit#getImage()
。