Hi zusammen,
ich stehe gerade etwas auf dem Schlauch bei meinen Projekt mit JavaFX.
Ich habe eine Tabelle mit 3 Spalten(Siehe Bild im Anhang) und in der letzte sind 3 Buttons über setCellFactory hinzugefügt. Das hat soweit auch alles geklappt.
Jetzt möchte ich gerne bei den Buttons mit setOnAction auf das jeweilige "TaskModel" aus der Zeile zugreifen. Ich hab im Moment keine Ahnung wie ich an die Daten oder Position in der Tabelle komme. Das ganze soll wenn möglich auch funktionieren, wenn die Zeile nicht selektiert ist.
Vielen Dank für eure Hilfe
ich stehe gerade etwas auf dem Schlauch bei meinen Projekt mit JavaFX.
Ich habe eine Tabelle mit 3 Spalten(Siehe Bild im Anhang) und in der letzte sind 3 Buttons über setCellFactory hinzugefügt. Das hat soweit auch alles geklappt.
Java:
tblTaskColOption.setCellValueFactory((TableColumn.
CellDataFeatures<TaskModel, Boolean> param) ->
new SimpleBooleanProperty(param.getValue() != null));
tblTaskColOption.setCellFactory((TableColumn<TaskModel, Boolean> param) -> new ButtonCellTask());
Java:
public class ButtonCellTask extends TableCell<TaskModel, Boolean>{
final Button startButton = new Button("Start");
final Button stopButton = new Button("Stop");
final Button pauseButton = new Button("Pause");
final ButtonBar bbar = new ButtonBar();
public ButtonCellTask() {
bbar.getButtons().addAll(startButton, stopButton, pauseButton);
//Action wenn der Start-Button geklickt wird
startButton.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Start TaskTime: ");
//task.start();
}
});
stopButton.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Stop TaskTime");
}
});
}
@Override
protected void updateItem(Boolean t, boolean empty) {
super.updateItem(t, empty);
if(!empty) {
setGraphic(bbar);
}
}
}
Jetzt möchte ich gerne bei den Buttons mit setOnAction auf das jeweilige "TaskModel" aus der Zeile zugreifen. Ich hab im Moment keine Ahnung wie ich an die Daten oder Position in der Tabelle komme. Das ganze soll wenn möglich auch funktionieren, wenn die Zeile nicht selektiert ist.
Vielen Dank für eure Hilfe