现在我遇到了JavaFX的一个小问题。我试着在我的代码中做一个文件选择,我可以指向一个FOLDER而不是一个文件。目前我没有解决方案。你知道一个解决方法(除了使用JFileChooser)吗?JavaFX FileChooser
非常感谢你的答案提前
编辑:我已经得到了现在的答案,试图测试,但我忘了提及的JavaFX版本。这是几天前发布的最新的2.0.3稳定版(但最初的非beta 2.0和2.0.1也有此问题)
现在我遇到了JavaFX的一个小问题。我试着在我的代码中做一个文件选择,我可以指向一个FOLDER而不是一个文件。目前我没有解决方案。你知道一个解决方法(除了使用JFileChooser)吗?JavaFX FileChooser
非常感谢你的答案提前
编辑:我已经得到了现在的答案,试图测试,但我忘了提及的JavaFX版本。这是几天前发布的最新的2.0.3稳定版(但最初的非beta 2.0和2.0.1也有此问题)
DirectoryChooser作为the 2.1 release的一部分添加到JavaFX。 用法是:
DirectoryChooser chooser = new DirectoryChooser();
chooser.setTitle("JavaFX Projects");
File defaultDirectory = new File("c:/dev/javafx");
chooser.setInitialDirectory(defaultDirectory);
File selectedDirectory = chooser.showDialog(primaryStage);
的issue tracker提到了一个变通的2.0GA版本:“访问私有API的Oracle玻璃方法CommonDialogs.showFolderChooser
”。
不像在JFileChooser中被用于选择文件夹和单个文件摆动,在JavaFX中,存在被用于选择单个文件和DirectoryChooser类用于选择目录
DirectoryChooser directoryChooser = new DirectoryChooser();
directoryChooser.setTitle("Open Resource File");
directoryChooser.getExtensionFilters().addAll(
new ExtensionFilter("Text Files", "*.txt"),
new ExtensionFilter("Image Files", "*.png", "*.jpg", "*.gif"),
new ExtensionFilter("Audio Files", "*.wav", "*.mp3", "*.aac"),
new ExtensionFilter("All Files", "*.*"));
File selectedFile = directoryChooser.showDialog(mainStage);
if (selectedFile != null) {
mainStage.display(selectedFile);
}
使用FileChooser类是一个例子目录选择器。
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Open Folder");
fileChooser.showDialog(stage);
是文件选择的一个例子
这里有些有趣的东西:也许你可以改善你的回答(否则你会混淆人)。在你的例子中,假设是一个'DirectoryChooser',你没有使用'javafx.stage.DirectoryChooser'。而且它没有'showOpenDialog'方法。 – 2018-02-15 19:28:07
谢谢@mikerodent,我纠正了错误 – 2018-02-16 20:07:50
其实我没有发现DirectoryChooser ......所以谢谢! – 2018-02-16 20:50:31
“你不能查看此URL作为客人,你必须登录或注册一个账号。” – XXL 2012-04-21 13:38:00
单击[JavaFX Jira跟踪器](http://javafx-jira.kenai.com/)中的注册链接注册一个帐户 - 这是一个开放系统,任何人都可以注册一个帐户。 – jewelsea 2012-04-23 21:30:51
策略在几个月前改变了,JavaFX Jira跟踪器不再是一个开放系统。未来的错误报告可能会提交到:http://bugreport.java.com,它们的某些版本可能最终显示在https://bugs.openjdk.java.net中查看 – jewelsea 2015-05-28 21:47:50