File Chooser in JavaFX
- Home
- Tutorials
- Java
- Der Ultimative JavaFX 8 GUI Kurs - Dein Weg zu tollen GUIs
- File Chooser in JavaFX
Dieses Video ist nicht verfügbar
Dieses Video steht nur eingeschriebenen Nutzern zur Verfügung.
Jetzt Kurs kaufen
In diesem Artikel lernst du wie man den File Chooser in JavaFX anlegt und verwendet. Dabei handelt es sich um ein UI Element, das einem ermöglicht eine Datei aus dem eigenen Dateisystem zu wählen. Das hast sicher bereits gesehen, als du mal ein Bild hochgeladen hast, oder ähnliches.
Das Programmfenster Selbst ist nun jedoch noch leer. Erweitern wir also den Code, sodass der File Chooser in JavaFX sich erst öffnet, wenn wir den Button auf unserem Programm anklicken. Erweitern wir es außerdem so, dass wir automatisch im Benutzer Ordner des Nutzers landen und zusätzlich nur Dateiendungen von Bildern zulassen.
Die API des File Choosers erlaubt es uns jedoch auch Dateien zu speichern.
Anlegen des File Chooser in JavaFX
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Wähle die Datei");
fileChooser.showOpenDialog(primaryStage);
Die Methode showOpenDialog() öffnet sofort das Fenster. Daher erhalten wir folgendes

FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Wähle die Datei");
// damit kommen wir direkt in den Benutzerordner auf dem Rechner des Nutzers
fileChooser.setInitialDirectory(new File(System.getProperty("user.home")));
// damit legen wir fest, welche Datentypen wir zulassen
fileChooser.getExtensionFilters().addAll(
new FileChooser.ExtensionFilter("All Images", "*.*"),
new FileChooser.ExtensionFilter("BMP", "*.bmp"),
new FileChooser.ExtensionFilter("JPG", "*.jpg"),
new FileChooser.ExtensionFilter("PNG", "*.png"),
new FileChooser.ExtensionFilter("GIF", "*.gif")
);
Label label1 = new Label("Wähle die gewünschte Datei");
Button button1 = new Button("wählen");
button1.setOnAction(e ->{
fileChooser.showOpenDialog(primaryStage);
});
Damit erhalten wir nämlich folgendes:

Dateien Speichern mit dem File Chooser in JavaFX
[spoiler title='Dateien Speichern']
package application;
import java.io.File;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.GridPane;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
// wir legen unser GridPane an
GridPane grid = new GridPane();
// weisen das Padding (interner Abstand) zu
grid.setPadding(new Insets(10, 10, 10, 10));
// und fügen einen kleinen Außenabstand hinzu
grid.setVgap(10);
grid.setHgap(10);
FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Speichere Datei");
// damit kommen wir direkt in den Benutzerordner auf dem Rechner des Nutzers
fileChooser.setInitialDirectory(new File(System.getProperty("user.home")));
// damit legen wir fest, welche Datentypen wir zulassen
fileChooser.getExtensionFilters().addAll(
new FileChooser.ExtensionFilter("TXT", "*.txt")
);
Label label1 = new Label("Speichere die Datei");
Button button1 = new Button("Speichern");
button1.setOnAction(e ->{
File file = fileChooser.showSaveDialog(primaryStage);
System.out.println(file);
});
GridPane.setConstraints(label1, 0,0);
GridPane.setConstraints(button1, 1,0);
grid.getChildren().addAll(label1, button1);
Scene scene = new Scene(grid,300,300);
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
[/spoiler]
Damit erhalten wir nun die Möglichkeit eine Datei zu speichern, die jedoch nur den Dateitypen TXT haben kann, also auch die Endung .txt erhält.
Vorherig
Color Picker in JavaFX
Nächste
List View in JavaFX
Der Ultimative JavaFX 8 GUI Kurs - Dein Weg zu tollen GUIs
-
Hier starten
-
Lektion1.1
-
Lektion1.2
-
-
Grundlagen
-
Lektion2.1
-
Lektion2.2
-
Lektion2.3
-
Lektion2.4
-
Lektion2.5
-
Lektion2.6
-
Lektion2.7
-
-
Vollgas zur eigenen Benutzeroberfläche mit UI Controls
-
Lektion3.1
-
Lektion3.2
-
Lektion3.3
-
Lektion3.4
-
Lektion3.5
-
Lektion3.6
-
Lektion3.7
-
Lektion3.8
-
Lektion3.9
-
Lektion3.10
-
Lektion3.11
-
Lektion3.12
-
Lektion3.13
-
Lektion3.14
-
Lektion3.15
-
Lektion3.16
-
Lektion3.17
-
Lektion3.18
-
Lektion3.19
-
Lektion3.20
-
-
Layouts
-
Lektion4.1
-
Lektion4.2
-
Lektion4.3
-
Lektion4.4
-
Lektion4.5
-
Lektion4.6
-
Lektion4.7
-
-
Shapes
-
Lektion5.1
-
Lektion5.2
-
Lektion5.3
-
Lektion5.4
-
Lektion5.5
-
Lektion5.6
-
Lektion5.7
-
-
Charts
-
Lektion6.1
-
Lektion6.2
-
Lektion6.3
-
Lektion6.4
-
Lektion6.5Scatter Chart in JavaFX
-
-
Events
-
Lektion7.1
-
Lektion7.2
-
Lektion7.3
-
Lektion7.4
-
-
Audio und Video
-
Lektion8.1
-
Lektion8.2
-
Lektion8.3
-
-
SceneBuilder
-
Lektion9.1
-
Lektion9.2
-
Lektion9.3
-
Beliebte Kurse
Spring Boot Webentwicklung - RESTful APIs entwickeln!
Lerne Spring Boot und erstelle RESTful APIs Das beliebteste Java...
29,99€
Die Java 11 Masterclass - Werde zum Profi-Entwickler!
Werde zum Entwickler mit der Java 11 Masterclass! Starte in...
29,99€
Spiele entwickeln mit Unity 3D – Erstelle eigene Games in C# - Starter
Willkommen zum kostenlosen Teil des Kurses: "Spiele entwickeln mit Unity...
Kostenlos