ComboBox em uma célula de tableview em JavaFX
Estou tentando adicionar umCombo Box
para o meuTable View
:
Basicamente, tenho uma classe chamada TableViewTest que armazena um nome e uma descrição. Posso exibir esses nomes e descrições em umTable View
não se preocupe, mas o que eu quero fazer é adicionar uma terceira coluna com cada célula tendo umCombo Box
para que o usuário possa selecionar uma dentre várias opções para cada pessoa.
Até agora eu criei umObservableList
do tipoString
com alguns valores e os adicionou a umComboBox
objeto. Alguém sabe uma maneira de adicionar issoCombo Box
para a mesa?
Lembre-se também de que esse código é bastante difícil e só estou tentando fazer algo funcionar, e refatorarei o código posteriormente.
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);