В одном из моих предыдущих приложений платформы Netbeans я использовал этот код для вызова диалогового окна сохранения.
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 среда IDE Netbeans не может найти org.openide.filesystems.FileChooserBuilder
(javadoc). Мой модуль объявляет зависимость от File System API
, которая, насколько я могу судить, «импортирует» пространство имен org.openide.filesystems
.
Я не смог найти никакой информации о том, что FileChooserBuilder
устарел, и не нашел предложений по замене.
Среда IDE Netbeans предлагает вместо этого использовать javafx.stage.FileChooser
, но у меня возникают проблемы с new javafx.stage.FileChooser.FileChooser().showSaveDialog(Window ownerWindow)
, потому что я не знаю, как получить Window
из моего TopComponent
. Если я передам null
, будет выдано исключение (IllegalStateException: This operation is permitted on the event thread only; currentThread = AWT-EventQueue-0
), вероятно, потому, что null
вызывает немодальный диалог.
Так куда же пропал org.openide.filesystems.FileChooserBuilder
или где моя ошибка?
org.openide.filesystems
JAR в свой проект? - person Am_I_Helpful   schedule 24.07.2017File System API
в свойствах модуля, следует добавить соответствующий jar-файл. - person Qrt   schedule 24.07.2017