0
Ich habe dieses Modell:ComboBoxTableCell zeigt nicht ComboBox in JavaFX
public class AbstractMappingRow {
private StringProperty abstractService = new SimpleStringProperty();
private StringProperty taskId = new SimpleStringProperty();
private StringProperty taskName = new SimpleStringProperty();
public AbstractMappingRow(String taksNameString, String taskIdString, String abstractServiceString) {
super();
this.abstractService = new SimpleStringProperty(abstractServiceString);
this.taskId = new SimpleStringProperty(taskIdString);
this.taskName = new SimpleStringProperty(taksNameString);
}
public StringProperty getAbstractService() {
return abstractService;
}
public void setAbstractService(StringProperty abstractService) {
this.abstractService = abstractService;
}
public StringProperty getTaskId() {
return taskId;
}
public void setTaskId(StringProperty taskId) {
this.taskId = taskId;
}
public StringProperty getTaskName() {
return taskName;
}
public void setTaskName(StringProperty taskName) {
this.taskName = taskName;
}
}
ich eine Tabellenzeile zu haben, versuchen [String - String - ComboBox mit Strings]. So habe ich die Tabelle wie folgt auf:
TableColumn<AbstractMappingRow,String> taskIdCol = new TableColumn<>("Task ID");
taskIdCol.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<AbstractMappingRow, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<AbstractMappingRow, String> p) {
return p.getValue().getTaskId();
}
});
mappingTable.getColumns().add(taskIdCol);
TableColumn<AbstractMappingRow,String> taskNameCol = new TableColumn<>("Task Name");
taskNameCol.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<AbstractMappingRow, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<AbstractMappingRow, String> p) {
return p.getValue().getTaskName();
}
});
mappingTable.getColumns().add(taskNameCol);
TableColumn<AbstractMappingRow, String> abstractServiceCol = new TableColumn<>("Abstrakter Dienst");
abstractServiceCol.setMinWidth(200);
abstractServiceCol.setCellValueFactory(cellData -> cellData.getValue().getAbstractService());
abstractServiceCol.setCellFactory(ComboBoxTableCell.<AbstractMappingRow, String>forTableColumn(FXCollections.observableArrayList("1", "3")));
mappingTable.getColumns().add(abstractServiceCol);
mappingTable.getItems().add(new AbstractMappingRow("test", "test", "3"));
Aber als Ergebnis habe ich keine ComboBox in der dritten Spalte sehen, die die Werte „1“ enthalten soll, und „3“. Stattdessen sehe ich:
Was mir fehlt die ComboBox-Show bis zu machen? Vielen Dank!