我有一个JTable。 JTable中的一列被分配了一个扩展的TableCellEditor,它显示了一个扩展的JComboBox。
有一个固定的100个String对象列表,用于填充组合框。
挑战:
问题: 我的组合框很漂亮。我可以随意选择项目。我甚至在从列表中删除已使用的项目方面取得了一些进展。但我无法弄清楚如何正确自动填充。
我很困惑,因为看起来我的组合框构造函数只在创建表时调用一次,而不是每行调用一次。
是这样的吗? TableCellEditor的构造函数是否只调用过一次?如果是这样,我如何修改每个组合框的行为?
感谢您的帮助!
如果您需要特定代码,请告诉我们。我不知道你是否要我粘贴整个班级。
答案 0 :(得分:1)
当新房间添加到表格中时,它所包含的组合框应自动填充到第一个可用列表项目。
向TableModel添加新的数据行时,必须添加行中所有列的值。这不应该是编辑器的功能。编辑器允许您更改单元格中的值。
答案 1 :(得分:0)
我能够通过为我的组合框创建一个抽象超类来解决我的问题,可以在设置数据时从tablemodel扩展中访问它。