gpt4 book ai didi

JavaFX FileChooser : how to set file filters?

转载 作者:IT老高 更新时间:2023-10-28 20:52:55 25 4
gpt4 key购买 nike

我想在 JavaFX FileChooser 中设置文件过滤器,但找不到方法。

我的代码:

  FileChooser fc = new FileChooser();
fc.setTitle("My File Chooser");
File f = fc.showOpenDialog(primaryStage);
System.out.println(f);

最佳答案

你可以这样做:

FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("TXT files (*.txt)", "*.txt");
chooser.getExtensionFilters().add(extFilter);

这是一个简单的例子:

public class ExtensionFilterExample extends Application {

public static void main(String[] args) {
launch(args);
}

@Override
public void start(final Stage primaryStage) {
primaryStage.setTitle("Extension Filter Example");

final Label fileLabel = new Label();

Button btn = new Button("Open FileChooser");
btn.setOnAction(new EventHandler<ActionEvent>() {

@Override
public void handle(ActionEvent event) {
FileChooser fileChooser = new FileChooser();

// Set extension filter
FileChooser.ExtensionFilter extFilter =
new FileChooser.ExtensionFilter("TEXT files (*.txt)", "*.txt");
fileChooser.getExtensionFilters().add(extFilter);

// Show open file dialog
File file = fileChooser.showOpenDialog(primaryStage);
if (file != null) {
fileLabel.setText(file.getPath());
}
}
});

VBox vBox = new VBox(30);
vBox.getChildren().addAll(fileLabel, btn);
vBox.setAlignment(Pos.BASELINE_CENTER);

StackPane root = new StackPane();
root.getChildren().add(vBox);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
}

关于JavaFX FileChooser : how to set file filters?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13634576/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com