TableCellRenderer 丢失

发布于 2024-12-17 23:22:41 字数 158 浏览 1 评论 0原文

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

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

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

有什么建议吗?

I've got an ArrayList bound to a JTable. After

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

(done to refreshing data) I lost table cell renderer behavior.

Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

老旧海报 2024-12-24 23:22:41

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

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

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

table.setAutoCreateColumnsFromModel(false); 

来防止重新创建 TableColumnModel。

I don't know what the bind() methods do, but if they refresh the table by changing the model then the TableColumnModel is being recreated which causes you to lose any custom renderer you added to the table.

One solution is to add the renderer back to the table after you invoke the bind() methods.

Or after you create the JTable you can use:

table.setAutoCreateColumnsFromModel(false); 

to prevent the TableColumnModel from being recreated.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文