ComboBox в ячейке таблицы в JavaFX
Я пытаюсь добавитьCombo Box
к моемуTable View
:
По сути, у меня есть класс TableViewTest, который хранит имя и описание, я могу отображать имена и описания тезисов вTable View
не беспокойтесь, но я хочу добавить третий столбец с каждой ячейкой, имеющейCombo Box
так что пользователь может выбрать один из нескольких вариантов для каждого человека.
До сих пор я создалObservableList
типаString
с некоторыми значениями и добавил их кComboBox
объект. Кто-нибудь знает способ для меня, чтобы добавить этоCombo Box
к столу?
Также имейте в виду, что этот код довольно грубый, и я просто пытаюсь заставить что-то работать, и я буду рефакторинг кода позже.
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);