从Javafx中的ComboBoxTableView显示选定行的ComboBox

时间:2015-04-01 21:31:06

标签: combobox javafx

这是我有趣的情况,

我正在尝试从Tableview访问一个Combobox,它有一个包含ComboBoxTableCell的cellfactory的列。这将通过事件处理程序访问,以便当用户点击行上的“输入”时,组合框将显示其项目。

ComboboxTableCell创建为

tableViewCol.setCellFactory(ComboBoxTableCell.forTableColumn(anObservableArrayList));

我可以访问的tableview被引用为:

@FXML
private TableView<Obj> tableView;
@FXML
private TableColumn<Obj, String> tableViewCol;

我能得到的最远的是tablecol遵循这些路径,其中.getClass()导致:“class javafx.scene.control.TableColumn $ 1”:

tableView.getSelectionModel().getSelectedCells().get(0).getTableColumn().getCellFactory().call()

tableView.getSelectionModel().getSelectedCells().get(0).getTableColumn().cellFactoryProperty()

再一次,我正在尝试访问tableview中选定的行,其列中有一个ComboBoxTableCell,并且我试图在事件单击时打开所选行的comboBox,输入发生。我只是不知道如何访问它,这让我疯了。

对于视觉代表,请参阅第一个链接然后第二个。 http://i.stack.imgur.com/teV4S.png http://i.stack.imgur.com/7kjPs.png (Bleh,新手不能发布图片)。

任何帮助建议,替代方案,反馈都很有帮助。 谢谢!

1 个答案:

答案 0 :(得分:0)

您可以通过cell.getGraphic()访问Comobobx。

但是做这样的事情:

    tableView.edit(tableView.getSelectionModel().getSelectedIndex(), tableViewCol);

每次选择更改时都会这样。

如果你想要,你可以编写自己的Comboboxcell,并在选择行时自动显示其图形。