0

PrintServiceLookup を使用して、アプレットを使用してクライアント マシンにインストールされているデフォルトの印刷サービスを検索しています。このコードは私のマシンでは正常に動作し、アプレットは適切にロードされ、デフォルトの印刷サービス名を返しますが、私のマシンが別のクライアントからアクセスされると、PrintSerivceLookup がそのマシンで NULL を返すため、アプレットはあるマシンでは BLANK を返し、別のマシンでは NullPointerException を返します。

さらに、これらのマシンで 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 を返します。

4

1 に答える 1

1

Java.policy ファイルに次の行を追加して解決しました。

permission java.security.AllPermission; 

しかし、必要な正確な許可をまだ見つけることができません。すべての権限を与えることは、アプレットにとって安全ではありません。

于 2012-07-17T06:20:14.343 に答える