我有一个能够保存和加载文件的小应用程序。然后我决定尝试 Java Web Start,所以我需要将 JFileChooser 的用法重写为 jnlp 的东西。
这是我带来的
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:我尝试从上面的 oracle 链接运行 JWSFileChooserDemo,但它不起作用。与ServiceManager.lookup
返回 null 相同。