自定义TableCellEditor构造函数只调用一次吗?

时间:2015-06-05 17:57:47

标签: java swing combobox jtable tablecelleditor

我有一个JTable。 JTable中的一列被分配了一个扩展的TableCellEditor,它显示了一个扩展的JComboBox。

有一个固定的100个String对象列表,用于填充组合框。

挑战:

  • 设计JComboBoxes,以便任何选择相对于其他框都是唯一的?也就是说,如果" A"从第一行的组合框中选出,它会自动从组合框的列表中删除。
  • 当新房间添加到表格中时,它所包含的组合框应自动填充到第一个可用列表项目。

问题: 我的组合框很漂亮。我可以随意选择项目。我甚至在从列表中删除已使用的项目方面取得了一些进展。但我无法弄清楚如何正确自动填充。

我很困惑,因为看起来我的组合框构造函数只在创建表时调用一次,而不是每行调用一次。

是这样的吗? TableCellEditor的构造函数是否只调用过一次?如果是这样,我如何修改每个组合框的行为?

感谢您的帮助!

如果您需要特定代码,请告诉我们。我不知道你是否要我粘贴整个班级。

2 个答案:

答案 0 :(得分:1)

  

当新房间添加到表格中时,它所包含的组合框应自动填充到第一个可用列表项目。

向TableModel添加新的数据行时,必须添加行中所有列的值。这不应该是编辑器的功能。编辑器允许您更改单元格中的值。

答案 1 :(得分:0)

我能够通过为我的组合框创建一个抽象超类来解决我的问题,可以在设置数据时从tablemodel扩展中访问它。

相关问题