在普通小程序中,我使用它将图像加载到JLabel
Image back2 = getImage(getDocumentBase(), "images/blank_blue.png");
ImageIcon background2Icon = new ImageIcon(back2);
JLabel pic2 = new JLabel(background2Icon);
当我尝试使用Java Web Start小程序时,没有出现任何内容。
在Java控制台中,它说了这个
basic: Loaded image: file:/C:/Users/jdfksl/Desktop/webStartTest/images/blank_blue.png
并没有错误,但它不会出现。
我在JLabel中加载图像,这些图像在Java Web Start中以这种方式工作
BufferedImage image=null;
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
try {
image = ImageIO.read(classLoader.getResourceAsStream("images/ghast_skin.png"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但是,我想要一种更短的加载图像的方法。 还有其他选择吗?
这是我的jnlp文件内容
<?xml version="1.0" encoding="UTF-8"?>
<jnlp href="jws_tester.jnlp">
<information>
<title>JWS tester</title>
<vendor>HTZ.</vendor>
<description>Testing with JWS</description>
<offline-allowed />
</information>
<resources>
<j2se version="1.4+"
href="http://java.sun.com/products/autodl/j2se" />
<jar href="tester.jar" main="true" />
<!-- Specify if using JNLP extensions
<extension name="SomeExtension"
href="http://some.server.com/some_extension.jnlp" />
-->
</resources>
<security>
<all-permissions/>
</security>
<applet-desc
name="JWS tester"
main-class="mather.Main"
width="900"
height="600">
</applet-desc>
</jnlp>
答案 0 :(得分:0)
一种方法是将图像添加到构建路径并从任何类中访问图像。
new ImageIcon(TestClass.class.getResource("/image.png"));
在这种方法中,图像将被添加到您的jar文件中,因此您的jar文件可能会变得更加笨重。
答案 1 :(得分:-1)
试试这个:
Image image = new ImageIcon("path").getImage();
编辑:此path
可以是图像的完整路径,也可以是项目文件夹的相对路径。 IE,如果您的图片路径是:
C:\Users\User\Documents\NetBeansProjects\YourProject\src\resource\image.png
您可以通过
访问它src\resource\image.png