我想在我的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
我可以请求你的帮助吗?感谢...