【发布时间】:2010-10-25 20:09:12
【问题描述】:
所以我有很多表格和很多单元格编辑器,里面有很多东西。我想我应该重用它们,而不是每次都做 new() ,因为整个事情都设置了 getTableCellEditorComponent() 但是,几乎每次我尝试这样做时,我都会在旧单元格中得到“剩菜”和其他奇怪的东西。我通常可以通过每次制作一个新的来纠正问题,但这很糟糕吗?
谢谢! 约书亚
【问题讨论】:
标签: java swing tablecelleditor
所以我有很多表格和很多单元格编辑器,里面有很多东西。我想我应该重用它们,而不是每次都做 new() ,因为整个事情都设置了 getTableCellEditorComponent() 但是,几乎每次我尝试这样做时,我都会在旧单元格中得到“剩菜”和其他奇怪的东西。我通常可以通过每次制作一个新的来纠正问题,但这很糟糕吗?
谢谢! 约书亚
【问题讨论】:
标签: java swing tablecelleditor
JTables 很大。虽然TableCellEditor 中的JComponent 子类也可能非常大,但并不值得担心。此外,最好避免共享可变对象,尤其是像 Swing 组件这样复杂的对象。每个组件生命周期都有一个父级似乎是一个不错的选择。
【讨论】:
由于每个JTable 总是有零个或一个编辑器,getTableCellEditorComponent() 调用的性能并不是非常关键。不过,在处理表格渲染器时必须避免创建新组件。
【讨论】: