注意:JTable 渲染器同一列共享

JTable的列渲染器采用的是FlyWeigth模式,今天在写代码的时候,忘记实际数据来源,出现一个问题。原理是因为JTable的渲染器是采用共享模式 所以出现

错误情况

自定义Renderer代码:

/**
 * 浮点型渲染器
 * @author Administrator
 *
 */
public class GroupDoubleRenderer extends DefaultJLabelRenderer {

    protected void setValue(JLabel groupRenderer, Object value) {
         // TODO Auto-generated method stub  注意此处有存在问题的,如果为空才设置值,会导致下个不为空的列,取之前的值

       // 对于同一列都是用同一个GroupDoubleRenderer渲染,只是给出的不同值而已

        if(null != value && !value.toString().equals("")){
            groupRenderer.setText(value.toString());
        }
       
    }

<1>正确数据如下


<2>错误情况如下




阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sjdl9396/article/details/6887916
文章标签: object class null
个人分类: SWING
上一篇Swing JTable复杂报表
下一篇oreilly java swing : JTable 之JTable
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭