Hallo, ich habe gerade erst mit Java angefangen und bin auf ein Problem gestoßen bei dem mir Google ausnahmsweise nicht weiterhelfen kann.
Mit dem Ziel die Zellen einer ListView zu formatieren habe ich folgende Klasse erstellt:
Die Formatierung funktioniert wie erwartet. Aber sobald ich mehr als 1 Element zur Liste hinzufüge wird das erste Element doppelt dargestellt.
Hier ein paar Screenshots:
Beim ersten Element(soweit alles normal):
Beim zweiten Element:
Beim dritten Element:
Sobald ich die Formatierung entferne tritt das Problem nicht mehr auf.
Die falschen Einträge lassen sich auch nicht markieren.
Ich hoffe ihr könnt mir helfen.
MfG, Tobi
Mit dem Ziel die Zellen einer ListView zu formatieren habe ich folgende Klasse erstellt:
Java:
public class WorkoutListCell extends ListCell<Workout> {
private DateFormat formatter = new SimpleDateFormat("30 MMMM, yyyy");
@Override
public void updateItem(Workout workout, boolean empty) {
super.updateItem(workout, empty);
if (empty) {
setText(null);
} else {
setText(null);
GridPane grid = new GridPane();
grid.setHgap(10);
grid.setVgap(0);
Label name = new Label(workout.toString());
name.getStyleClass().add("workout-list-name");
grid.add(name, 0, 0);
Label startDate = new Label(formatter.format(workout.getStartTime()));
startDate.getStyleClass().add("workout-list-date");
grid.add(startDate, 0, 1);
setGraphic(grid);
}
}
}
Die Formatierung funktioniert wie erwartet. Aber sobald ich mehr als 1 Element zur Liste hinzufüge wird das erste Element doppelt dargestellt.
Hier ein paar Screenshots:
Beim ersten Element(soweit alles normal):

Beim zweiten Element:

Beim dritten Element:

Sobald ich die Formatierung entferne tritt das Problem nicht mehr auf.
Die falschen Einträge lassen sich auch nicht markieren.
Ich hoffe ihr könnt mir helfen.
MfG, Tobi