所以我有一些构成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();
但显然不是......
我离得很远吗?
谢谢!
答案 0 :(得分:2)
尝试:
JComboBox retrievedDropDowns = (JComboBox)table.getColumnModel().getColumn(i).getCellEditor().getComponent();
答案 1 :(得分:1)
如果您在columnModel中添加了DefaultCellEditor
,那么它将返回DefaultCellEditor
而不是JComboBox
。
但您可以使用DefaultCellEditor.getComponent()
来获取内部编辑器组件。