0

所以情况是我有一个 JTable,其中有许多 JComboBox 作为单元格。在选择 JComboBox 的元素时,需要改变表模型的结构。我下面还有一个“输出表”,它监听 JComboBox 的选择并相应地重新验证,因此,我需要保持查询表的模型相同,以便它可以重用监听器。如何更改表模型的结构?

DefaultTableModel QueryTableModel = new DefaultTableModel(dropDownUserSelection, resultsListHeadings );     
queryTable.setModel(QueryTableModel);

JComboBox box = new JComboBox(boxModel);      
queryTable.getColumnModel().getColumn(i).setCellEditor(new DefaultCellEditor(box));

如果我要问一个已经在其他地方问过的问题,我很抱歉,但是我四处逛逛,找不到我要找的东西。

谢谢

4

1 回答 1

2

TableModel责任通知父表(或任何收听的人)模型的更改。

可用的一般事件是数据更改、单元格更新、行插入/删除和结构更改。

“结构已更改”告诉父表表模型的结构(列数和/或列名和/或类型已更改)并且应该完全更新自身。

有多种方法可以实现这一目标。您可以让现有的表模型相应地自行更改并触发“结构更改”事件,或者您可以构建一个新的表模型并将其应用于JTable,具体取决于您的需要。

于 2013-02-13T23:57:30.457 回答