Hallo Forum,
ich stehe etwas auf dem Schlauch im Zusammenhang mit einem TableView. Ich habe ein TableView, welches ich über eine ObservableList mit Werten befülle. Das klappt soweit auch wie gewünscht. Nun möchte ich bei Doppelklick auf eine Zeile eine Referenz auf das unterliegende Objekt bekommen. Also ne CellFactory bemüht, wie folgt:
nun möchte ich aber die Zeilen noch in Abhängikeit Ihres Inhaltes in einer anderen Farbe einfärben. Das funktioniert auch gut, wenn ich eine Factory wie folgt mache:
Nur wie bekomme ich das jetzt beides unter einen Hut? Ehrlich gesagt verstehe ich den ganzen Callback und Lambda-Kram auch noch nicht wirklich ... die Schnippsel sind angepassst aus anderen Projekten .....
für sachdienliche Hinweise oder die Lösung dankt,
VR
ich stehe etwas auf dem Schlauch im Zusammenhang mit einem TableView. Ich habe ein TableView, welches ich über eine ObservableList mit Werten befülle. Das klappt soweit auch wie gewünscht. Nun möchte ich bei Doppelklick auf eine Zeile eine Referenz auf das unterliegende Objekt bekommen. Also ne CellFactory bemüht, wie folgt:
Java:
TableView.setRowFactory((row) -> {
TableRow<Person> row = new TableRow<>();
row.setOnMouseClicked(event -> {
if (event.getClickCount() == 2 && (!row.isEmpty())) {
Person rowData = row.getItem();
System.out.println(rowData);
}
});
return row;
});
nun möchte ich aber die Zeilen noch in Abhängikeit Ihres Inhaltes in einer anderen Farbe einfärben. Das funktioniert auch gut, wenn ich eine Factory wie folgt mache:
Java:
TableView.setRowFactory((row) -> new TableRow<Person>() {
@Override
public void updateItem(Person person, boolean empty) {
super.updateItem(person, empty);
switch (person.getPersonStatus()) {
case ST:
setStyle("-fx-control-inner-background: " + StatusFarben.DIES_LIGHT.getFarbwert() + "; -fx-text-fill: #fff;");
break;
case CD:
setStyle("-fx-control-inner-background: " + StatusFarben.DAS_LIGHT.getFarbwert() + "; -fx-text-fill: #fff;");
break;
}
}
Nur wie bekomme ich das jetzt beides unter einen Hut? Ehrlich gesagt verstehe ich den ganzen Callback und Lambda-Kram auch noch nicht wirklich ... die Schnippsel sind angepassst aus anderen Projekten .....
für sachdienliche Hinweise oder die Lösung dankt,
VR
Zuletzt bearbeitet: