Date Picker in JavaFX
- Home
- Tutorials
- Java
- Der Ultimative JavaFX 8 GUI Kurs - Dein Weg zu tollen GUIs
- Date Picker in JavaFX
Dieses Video ist nicht verfügbar
Dieses Video steht nur eingeschriebenen Nutzern zur Verfügung.
Jetzt Kurs kaufen
In diesem Artikel geht es um Date Picker in JavaFX und wie man ihn verwenden kann. Dabei handelt es sich um ein UI Element, welches du sicher bereits gesehen hast. Es ermöglicht ein Datum auszuwählen. Schauen wir uns zuerst einmal an wie man einen Date Picker in JavaFX anlegt.
Wir haben also mit einer Zeile (plus der Zeile in der wir das Element zu unsere Scene hinzufügen) einen kompletten Date Picker erstellt.
Wir können dem Date Picker in JavaFX aber auch direkt setzen. Im Fall des Bildes habe ich den Date Picker bereits angeklickt und daher ein Datum eingetragen.
Nun schreiben wir noch ein kleines Programm in dem wir ablesen können, wie viele Tage die beiden Wahlen von einander entfernt sind.
Anlegen eines Date Picker in JavaFX:
DatePicker datePicker = new DatePicker();
Das sieht dann so aus:

DatePicker datePicker = new DatePicker();
DatePicker datePicker2 = new DatePicker(LocalDate.of(2015, 12, 4));
datePicker.setValue(LocalDate.now());
grid.getChildren().addAll(datePicker, datePicker2);
GridPane.setConstraints(datePicker, 0,0);
GridPane.setConstraints(datePicker, 0,1);

Programm zu Date Picker in JavaFX
[spoiler title='Date Picker Programm']
package application;
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.DateCell;
import javafx.scene.control.DatePicker;
import javafx.scene.control.Label;
import javafx.scene.control.Tooltip;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
import javafx.util.Callback;
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);
// Wir setzen die beiden Date Picker auf den aktuellen Tag
DatePicker startDatePicker = new DatePicker(LocalDate.now());
DatePicker endDatePicker = new DatePicker(LocalDate.now());
Label startLabel = new Label("End Datum");
Label endLabel = new Label("Start Datum");
// Positionieren und einfügen aller Elemente
GridPane.setConstraints(startDatePicker, 1,0);
GridPane.setConstraints(startLabel, 0,0);
GridPane.setConstraints(endDatePicker, 1,1);
GridPane.setConstraints(endLabel, 0,1);
grid.getChildren().addAll(startDatePicker, endDatePicker,startLabel, endLabel);
// Callback der die Zelle abfragt und ihr einen Tooltip hinzufügt
final Callback<DatePicker, DateCell> DayCellFactory = new Callback<DatePicker, DateCell>() {
@Override
// DateCell Klasse, die uns Zugriff auf das Datum der Zelle gibt
public DateCell call(final DatePicker datePicker) {
return new DateCell() {
@Override
public void updateItem(LocalDate item, boolean empty) {
super.updateItem(item, empty);
long d = ChronoUnit.DAYS.between(endDatePicker.getValue(), item);
setTooltip(new Tooltip("Du bleibst " + d + " Tage"));
}
};
}
};
// setzen der DaycellFactory und des Start Date Picker auf den Wert + 1
endDatePicker.setDayCellFactory(DayCellFactory);
endDatePicker.setValue(startDatePicker.getValue().plusDays(1));
Scene scene = new Scene(grid,350,300);
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}
[/spoiler]
Nächste
Color Picker 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
Die Java 11 Masterclass - Werde zum Profi-Entwickler!
Werde zum Entwickler mit der Java 11 Masterclass! Starte in...
79,00€
Spiele entwickeln mit Unity 3D – Erstelle eigene Games in C# - Starter
Willkommen zum kostenlosen Teil des Kurses: "Spiele entwickeln mit Unity...
Kostenlos
Werde zum iOS 11 & Swift Entwickler in 6 Wochen - Starter
Willkommen zum kostenlosen Teil des Kurses: "Werde zum iOS 11...
Kostenlos