【发布时间】:2017-07-24 09:58:42
【问题描述】:
在我之前的一个 Netbeans Platform 应用程序中,我使用此代码打开了一个保存对话框
File home = new File(System.getProperty("user.dir"));
XMLfile = new org.openide.filesystems.FileChooserBuilder("_output")
.setTitle("Save Dictionary")
.setDefaultWorkingDirectory(home)
.setApproveText("Save")
.setFileFilter(new FileNameExtensionFilter("xml files (*.xml)", "xml"))
.setAcceptAllFileFilterUsed(true)
.showSaveDialog();
由于某种原因,在我当前的 Netbeans 平台应用程序中,Netbeans IDE 找不到 org.openide.filesystems.FileChooserBuilder (javadoc)。我的模块声明了对File System API 的依赖,据我所知,它“导入”了命名空间org.openide.filesystems。
我找不到任何 FileChooserBuilder 已被弃用的信息,我也没有找到替代建议。
Netbeans IDE 建议改用javafx.stage.FileChooser,但我在使用new javafx.stage.FileChooser.FileChooser().showSaveDialog(Window ownerWindow) 时遇到了麻烦,因为我不知道如何从我的TopComponent 获取Window。如果我通过null,则会引发异常(IllegalStateException: This operation is permitted on the event thread only; currentThread = AWT-EventQueue-0),可能是因为null 会导致非模态对话框。
那么org.openide.filesystems.FileChooserBuilder消失在哪里,或者我的错误在哪里?
【问题讨论】:
-
您在项目中添加了
org.openide.filesystemsJAR 库吗? -
是的,至少据我所知。通过在模块的属性中添加对
File System API的依赖,应该添加相应的jar文件。