ComboBox en una celda de vista de tabla en JavaFX
Estoy tratando de agregar unCombo Box
para miTable View
:
Básicamente tengo una clase llamada TableViewTest que almacena un nombre y una descripción, puedo mostrar estos nombres y descripciones en unTable View
no molesto, pero lo que quiero hacer es agregar una tercera columna con cada celda que tenga unCombo Box
para que el usuario pueda seleccionar una de varias opciones para cada persona.
Hasta ahora he creado unObservableList
de tipoString
con algunos valores y los agregó a unComboBox
objeto. ¿Alguien sabe una manera de agregar esto?Combo Box
¿a la mesa?
También tenga en cuenta que este código es bastante tosco y solo estoy tratando de hacer que algo funcione y refactorizaré el código más adelante.
ObservableList<TableViewTest> products = FXCollections.observableArrayList();
for(int i = 0; i < b.length; i++){
// random String values
products.add(new TableViewTest(b[i], a[i]));
}
ObservableList<String> options = FXCollections.observableArrayList(
"1",
"2",
"3"
);
final ComboBox comboBox = new ComboBox(options);
TableColumn<TableViewTest, String> nameColumn = new TableColumn<> ("Name");
nameColumn.setMinWidth(200);
nameColumn.setCellValueFactory(new PropertyValueFactory<TableViewTest, String>("name"));
//price Column
//Stock Column
TableColumn<TableViewTest, String> StockColumn = new TableColumn<> ("Stock");
StockColumn.setMinWidth(150);
StockColumn.setCellValueFactory(new PropertyValueFactory<TableViewTest, String>("description"));
TableColumn<Object,ComboBox> PriceColumn;
PriceColumn = new TableColumn<>("Source");
PriceColumn.setMinWidth(150);
//PriceColumn.setCellValueFactory(new PropertyValueFactory<>
//(options));
//PriceColumn.setCellFactory(ComboBoxTableCell.forTableColumn(new
//DefaultStringConverter(), options));
//PriceColumn.setCellFactory(ComboBoxTableCell.forTableColumn(
//comboBox));
TableView<TableViewTest> table = new TableView<>();
table.setItems(products);
table.getColumns().addAll(nameColumn, StockColumn, PriceColumn);