Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java TableCell渲染器丢失_Java_Swing_Jtable_Renderer - Fatal编程技术网

Java TableCell渲染器丢失

Java TableCell渲染器丢失,java,swing,jtable,renderer,Java,Swing,Jtable,Renderer,我有一个绑定到JTable的ArrayList。之后 bindingGroup.unbind(); bindingGroup.bind(); (刷新数据完成)我丢失了表格单元格渲染器行为 有什么建议吗?我不知道bind()方法做什么,但如果它们通过更改模型来刷新表,则会重新创建TableColumnModel,这会导致丢失添加到表中的任何自定义渲染器 一种解决方案是在调用bind()方法后将渲染器添加回表中 或者在创建JTable之后,您可以使用: table.setAutoCreat

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

 bindingGroup.unbind(); 
 bindingGroup.bind(); 
(刷新数据完成)我丢失了表格单元格渲染器行为

有什么建议吗?

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

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

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

table.setAutoCreateColumnsFromModel(false); 

为了防止TableColumnModel被重新创建。

@camickr-同意,很明显问题是什么(一旦你知道了典型的问题)投票决定重新打开谁删除了(我和其他人)的评论以及为什么?非常感谢camickr和kleopatra重新打开我的问题,下次我会尽量弄清楚。这很有效。绑定后,我将按照您的建议重新执行setCellRenderer。非常感谢卡姆基尔。我不知道绑定会导致自定义渲染器丢失。谢谢。