Java Web Start,JPG作为资源

时间:2016-09-21 20:50:23

标签: java image resources java-web-start

我想在我的JWS应用程序中使用jpeg文件作为默认图像。允许应用程序使用客户端系统资源,用户可以上传任何图像。该项目是在NetBeans 8.1中开发的。

以下步骤已经完成:

1]" build"文件夹,新文件夹"资源"创建了。 jpeg文件" test.jpg"已上传。

2]使用NetBeans / Project Properties / Sources / Add文件夹中的文件夹" resources"已添加到源包文件夹中。

3]从JPanel派生的类的类构造函数从资源

下载数据
public class TestExample extends JPanel {

    public TestExample() {
            try
            {
                    URL resource = TestExample.class.getResource("/test.jpg");
                    String file_name = resource.getFile().toString();  //Error
                    img = ImageIO.read(new File(file_name));
            } 
            catch (IOException ex) 
            {
                    ex.printStackTrace();
            }

在本地副本中,该软件运行良好。将已签名的jar,类和资源上载到目标位置,将显示带有安全警告的当前窗口。接受并按下OK后,主窗体不会出现,但异常

Error: Unexpected exception java.lang.NullPointerException in line ...

指的是

String file_name = resource.getFile().toString();  

可能没有找到资源....在我看来,问题可能是由于缺少jnlp文件中的资源信息

<resources>
    <!-- Application Resources -->
    <j2se version="1.7+"
          href="http://java.sun.com/products/autodl/j2se"/>
    <jar href="TestExample.jar"
        main="true" />

</resources>
<application-desc
     name="Test"
     main-class=
       "testexample.TestExample"
     width="800"
     height="600">
 </application-desc>
 <update check="background"/>
 <security>
     <all-permissions/>
 </security>

另一个想法:获取的URL可能无法转换为String

 String file_name = resource.getFile().toString();  

当禁用try块内的代码时,应用程序可以正常工作。但是,可以上载来自客户端PC的任何JPEG文件,因此应用程序可以正确地使用客户端数据。在清单文件中,还设置了安全性:

Permissions: all-permissions

我可以请求你的帮助吗?感谢...

0 个答案:

没有答案