2012-06-14 30 views
0

我正在使用PrintServiceLookup来搜索使用小程序安装在客户端计算机上的默认打印服务。这段代码在我的机器上工作正常,并且applet正确加载并返回默认打印服务名称,但是当我的机器从另一个客户端访问时,小程序在一台机器上返回BLANK,在另一台机器上返回NullPointerException,因为PrintSerivceLookup在该机器上返回NULL。PrintServiceLookup返回NULL

此外,当在这些机器上,我尝试使用Main方法调用运行小程序,它完美地工作。

请建议。

这是我写的代码:

HTML: 
APPLET code="CheckClientDefaultPrinterAddress.class" width=350 height=125 name="printerApp" 

SCRIPT: 
var defaultPrinterIp = document.printerApp.getDefaultPrinterIP(); 
alert(defaultPrinterIp); 

JAVA CODE: 
PrintService service = PrintServiceLookup.lookupDefaultPrintService(); 
if(service != null) { 
    defaultPrinter = service.getName(); 
} 

回报defaultPrinter;

回答

1

我解决它通过添加以下行java.policy文件:

permission java.security.AllPermission; 

但还是老样子没能找出其所需的精确权限。给所有权限对applet不安全。