【问题标题】:TableCellRenderer lostTableCellRenderer 丢失
【发布时间】:2011-11-25 19:16:37
【问题描述】:

我有一个绑定到 JTable 的 ArrayList。之后

 bindingGroup.unbind(); 
 bindingGroup.bind(); 

(完成刷新数据)我丢失了表格单元格渲染器行为。

有什么建议吗?

【问题讨论】:

  • @camickr - 同意,很明显问题是什么(一旦你知道典型问题)投票重新打开
  • 谁删除了(我和其他人的)cmets,为什么?

标签: java swing jtable renderer


【解决方案1】:

我不知道 bind() 方法的作用,但是如果它们通过更改模型来刷新表格,那么 TableColumnModel 将被重新创建,这会导致您丢失添加到表格中的任何自定义渲染器。

一种解决方案是在调用 bind() 方法后将渲染器添加回表中。

或者在你创建 JTable 之后,你可以使用:

table.setAutoCreateColumnsFromModel(false); 

防止重新创建 TableColumnModel。

【讨论】:

  • 非常感谢 camickr 和 kleopatra 重新提出我的问题,下次我会尝试更清楚。
  • 它有效。绑定后,我按照您的建议重新执行 setCellRenderer 。非常感谢 camckir。我不知道绑定会导致丢失自定义渲染器。谢谢。
猜你喜欢
  • 1970-01-01
  • 2016-07-22
  • 1970-01-01
  • 2011-01-23
  • 1970-01-01
  • 1970-01-01
  • 2011-11-09
  • 2016-07-11
  • 1970-01-01
相关资源
最近更新 更多