从JTable返回JComboBox

时间:2013-02-11 14:23:19

标签: java swing jtable jcombobox tablemodel

所以我有一些构成JTable的JComboBox。我的问题是;如果没有直接访问这些JComboBox,我如何从JTable获取它们?下面是我如何将JComboBox放入JTable ...

TableColumn columnModel = table.getColumnModel().getColumn(i);
columnModel.setCellEditor(new DefaultCellEditor(combo));

...所以我想你可以通过做类似的事情来回复它们。

JComboBox retrievedDropDowns = (JComboBox)table.getColumnModel().getColumn(1).getCellEditor();

但显然不是......

我离得很远吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

尝试:

JComboBox retrievedDropDowns = (JComboBox)table.getColumnModel().getColumn(i).getCellEditor().getComponent();

答案 1 :(得分:1)

如果您在columnModel中添加了DefaultCellEditor,那么它将返回DefaultCellEditor而不是JComboBox

但您可以使用DefaultCellEditor.getComponent()来获取内部编辑器组件。