FileChooser & DirectoryChooser
选择文件, 选择文件夹
Button button1 = new Button("单选");
Button button2 = new Button("多选");
Button button3 = new Button("保存");
Button button4 = new Button("文件夹选择");
ObservableList<Node> children = root.getChildren();
children.addAll(button1, button2, button3, button4);
button1.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("选择图片");
fileChooser.getExtensionFilters().addAll(
new ExtensionFilter("图片类型", "*.jpg", "*.png", "*.gif"),
new ExtensionFilter("所有类型", "*.*")
);
//单选
File file = fileChooser.showOpenDialog(new Stage());
System.out.println("file = " + file);
}
});
button2.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("选择图片");
fileChooser.getExtensionFilters().addAll(
new ExtensionFilter("图片类型", "*.jpg", "*.png", "*.gif"),
new ExtensionFilter("所有类型", "*.*")
);
//多选
List<File> files = fileChooser.showOpenMultipleDialog(new Stage());
System.out.println("files = " + files);
}
});
button3.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("保存文件");
fileChooser.setInitialFileName("InitialFileName");
fileChooser.getExtensionFilters().addAll(
new ExtensionFilter("文本类型", "*.txt"),
new ExtensionFilter("所有类型", "*.*")
);
//保存
File file = fileChooser.showSaveDialog(new Stage());
System.out.println("files = " + file);
try {
boolean newFile = file.createNewFile();
System.out.println(newFile);
} catch (IOException e) {
e.printStackTrace();
}
}
});
button4.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
DirectoryChooser directoryChooser = new DirectoryChooser();
directoryChooser.setTitle("选择文件夹");
File file = directoryChooser.showDialog(new Stage());
System.out.println("file = " + file);
}
});