ファイルを保存およびロードできる小さなアプリがありました。次に、Java Web Start を試すことにしたので、JFileChooser の使用法を jnlp のものに書き直す必要がありました。
http://docs.oracle.com/javase/tutorial/displayCode.html?code=http://docs.oracle.com/javase/tutorial/uiswing/examples/components/JWSFileChooserDemoProject/src/components/JWSFileChooserDemoを参照してください。 Javaコードを書き直そうとしました。
これが私が持ってきたものです
FileSaveService fss = null;
FileContents fileContents = null;
ByteArrayInputStream is = new ByteArrayInputStream(
(new String("Saved by JWSFileChooserDemo").getBytes()));
try {
String[] services = ServiceManager.getServiceNames();
fss = (FileSaveService)ServiceManager.
lookup("javax.jnlp.FileSaveService");
}
catch (UnavailableServiceException exc) { }
if (fss != null) {
try {
fileContents = fss.saveFileDialog(null, null, is, null);
}
等々。
ServiceManager.getServiceNames
最初は呼び出しがなく、 ServiceManager.lookup
null が返されました。そのため、サービス リストを取得することにし、getServiceNames
null も返します。
どうすれば見つけることができますFileSaveService
か?このメソッドはどこでこのサービスを検索しますか? そのサービスが必要であることを宣言するために、どこかに余分なものを書くべきではありませんか?
UPD:上記のオラクルのリンクから JWSFileChooserDemo を実行しようとしましたが、機能しません。それと同じことServiceManager.lookup
がnullを返します。