JavaFX FileChooser: comment configurer les filtres de fichiers?
je veux mettre des filtres de fichier dans un JavaFX FileChooser mais je n'ai pas pu trouver un moyen de le faire.
mon code:
FileChooser fc = new FileChooser();
fc.setTitle("My File Chooser");
File f = fc.showOpenDialog(primaryStage);
System.out.println(f);
27
demandé sur
Winter
2012-11-30 00:56:56
3 réponses
Tu pourrais faire:
FileChooser.ExtensionFilter extFilter = new FileChooser.ExtensionFilter("TXT files (*.txt)", "*.txt");
chooser.getExtensionFilters().add(extFilter);
Voici un exemple simple:
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();
}
}
54
répondu
Reimeus
2014-09-13 20:08:10
mise à Jour pour JavaFX, et plusieurs extensions de filtre:
FileChooser fc = new FileChooser();
FileChooser.ExtensionFilter fileExtensions =
new FileChooser.ExtensionFilter(
"Web pages", "*.tpl", "*.html", "*.htm");
fc.getExtensionFilters().add(fileExtensions);
11
répondu
Zon
2016-02-25 12:38:22
Voici comment vous pouvez le faire.
FileChooser fc=new FileChooser();
FileChooser.ExtensionFilter fileExtensions =new FileChooser.ExtensionFilter("music files","*.mp3", "*.mp4");
fc.getExtensionFilters().add(fileExtensions);
List<File> selectedFiles=fc.showOpenMultipleDialog(null);
if(selectedFiles!=null){
for(int i=0;i<selectedFiles.size();i++){
System.out.println(selectedFiles.get(i).toString());
}
}
-1
répondu
Vivek Tiwari
2018-01-08 15:03:02