我正在开发JNLP应用程序并使用maven-webstart插件来创建JNLP。在我的本地运行应用程序时,它可以正常工作,但是当我使用jnlp在Tomcat服务器上运行时,它不会加载图像,也不会给出任何异常。
我正在加载图片
new ImageIcon(getClass().getResource("/icons/save.png"))
我的代码出了什么问题?
答案 0 :(得分:2)
您的图标位于何处?你如何在tomcat中运行jnlp应用程序?假设您没有很多图像,可以将它们打包到其中一个包中。只需创建一个名为com.yourproject.resources的包并在那里转储一些图像。然后访问它们的方式是: //在某个类中定义它
public URL obtainImageResource ( String nameOfResource )
{
return getClass().getResource( "/com/yourproject/resources/" + nameOfResource );
}
请使用网址获取它们。 然后创建你需要的东西:
BufferedImage yourImage = ImageIO.read( yourclaass.obtainImageResource( "yourimagepng.png" ).openStream() );
请注意以下事项:在我的设置中,您需要将图像打包到jar中。
答案 1 :(得分:1)
没有更多信息,很难说。您可以使用jar -tf
查看图像是否在JAR文件中。与此同时,这是一个可以加载图像的工作JWS application,供参考。