通常のアプレットでは、これを使用して画像を JLabels にロードします
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
に表示され、エラーはありませんでしたが、表示されませんでした。
この方法でJava Web Startで動作するJLabelsにロードする画像を取得しました
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>