Hallo,
ich bin gerade dabei eine Tabelle per TableView zu erstellen und diese zu befüllen.
Dies funktioniert auch soweit mit folgendem Code
[CODE lang="java" title="Controller der Stage"]...
@FXML
private VBox vboxCenter;
private TableView table;
private TableColumn<Maschine, String> colMaschinenID;
private TableColumn<Maschine, String> colMaschinenBez;
private TableColumn<Maschine, Integer> colStkCounter;
private ObservableList<Maschine> data;
private ArrayList<Maschine> maschinenPark = new ArrayList<>();
@FXML
public void initialize(){
maschinenPark = Main.getMaschinenPark();
data = FXCollections.observableArrayList(maschinenPark);
table = new TableView();
...
}
public void loadTable(){
colMaschinenID = new TableColumn("Maschinen ID");
colMaschinenID.setCellValueFactory(new PropertyValueFactory<Maschine, String>("maschinenName"));
colMaschinenBez = new TableColumn("Maschinen Bez.");
colMaschinenBez.setCellValueFactory(new PropertyValueFactory<Maschine, String>("maschinenBez"));
colStkCounter = new TableColumn("FS Menge");
colStkCounter.setCellValueFactory(new PropertyValueFactory<Maschine, Integer>("stkCounter"));
table.getColumns().addAll(colMaschinenID, colMaschinenBez, colStkCounter);
table.setItems(data);
vboxCenter.getChildren().add(table);
}
}[/CODE]

Meine Frage nun, wie kann ich jetzt die einzelnen Zellen ansprechen?
Ich habe bisher nicht mit den Callback Funktionen gearbeitet und mir ist nach einigen Code Beispielen immer noch nicht klar
wie diese funktionieren.
Ich würde gerne auf eine simple Art die Zellen editieren, z.B. wenn sich bei Maschinen 5 ein Wert ändert soll sich die Farbe
der Zelle "Maschine 5" ändern.
Zugriff auf die Daten, bzw. Werte der Maschinen habe ich über die ArrayList "maschinenPark", wo ich bspw. einen Changelistener
auf deren Properties binden könnte.
ich bin gerade dabei eine Tabelle per TableView zu erstellen und diese zu befüllen.
Dies funktioniert auch soweit mit folgendem Code
[CODE lang="java" title="Controller der Stage"]...
@FXML
private VBox vboxCenter;
private TableView table;
private TableColumn<Maschine, String> colMaschinenID;
private TableColumn<Maschine, String> colMaschinenBez;
private TableColumn<Maschine, Integer> colStkCounter;
private ObservableList<Maschine> data;
private ArrayList<Maschine> maschinenPark = new ArrayList<>();
@FXML
public void initialize(){
maschinenPark = Main.getMaschinenPark();
data = FXCollections.observableArrayList(maschinenPark);
table = new TableView();
...
}
public void loadTable(){
colMaschinenID = new TableColumn("Maschinen ID");
colMaschinenID.setCellValueFactory(new PropertyValueFactory<Maschine, String>("maschinenName"));
colMaschinenBez = new TableColumn("Maschinen Bez.");
colMaschinenBez.setCellValueFactory(new PropertyValueFactory<Maschine, String>("maschinenBez"));
colStkCounter = new TableColumn("FS Menge");
colStkCounter.setCellValueFactory(new PropertyValueFactory<Maschine, Integer>("stkCounter"));
table.getColumns().addAll(colMaschinenID, colMaschinenBez, colStkCounter);
table.setItems(data);
vboxCenter.getChildren().add(table);
}
}[/CODE]

Meine Frage nun, wie kann ich jetzt die einzelnen Zellen ansprechen?
Ich habe bisher nicht mit den Callback Funktionen gearbeitet und mir ist nach einigen Code Beispielen immer noch nicht klar
wie diese funktionieren.
Ich würde gerne auf eine simple Art die Zellen editieren, z.B. wenn sich bei Maschinen 5 ein Wert ändert soll sich die Farbe
der Zelle "Maschine 5" ändern.
Zugriff auf die Daten, bzw. Werte der Maschinen habe ich über die ArrayList "maschinenPark", wo ich bspw. einen Changelistener
auf deren Properties binden könnte.