FileChooserBuilder в приложении платформы Netbeans отсутствует?

В одном из моих предыдущих приложений платформы 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 или где моя ошибка?


person Qrt    schedule 24.07.2017    source источник
comment
Добавили ли вы библиотеку org.openide.filesystems JAR в свой проект?   -  person Am_I_Helpful    schedule 24.07.2017
comment
Да, по крайней мере, насколько я могу судить. Добавляя зависимость от File System API в свойствах модуля, следует добавить соответствующий jar-файл.   -  person Qrt    schedule 24.07.2017


Ответы (1)


Почему-то снова работает. Я удалил зависимость от File System API, поработал над проектом несколько дней и снова добавил. Возможно, я очистил кэш Netbeans (в %localappdata%) и каталоги /build всех модулей. Не уверен, что устранило проблему.

person Qrt    schedule 28.07.2017