现在的位置: 首页 > 综合 > 正文

TableCellRenderer用法实践(2)定制JTableHeader

2013年10月12日 ⁄ 综合 ⁄ 共 3198字 ⁄ 字号 评论关闭

 

JTableHeader是管理JTable列头的对象,有方法可以设置默认渲染器(在TableColumn未设置渲染器的情况下)public void setDefaultRenderer(TableCellRenderer defaultRenderer)  。这样为JTableHeader设置渲染器可以绘制出自己想要的效果来显示列头。还可以通过TableColumn来设置每一列的渲染器,以达到不同列具有不同的渲染效果。在生成JTable时会使用默认的数据模型DefaultTableModel,这样通过调用toString()方法,就会将输入的列名数组Object[] columnNames中的元素转化为String类型。所以就不可能实现根据列名类型的不同,执行相应的操作,例如,不可能使列名元素类型的Color的列,在列标题上显示相应的颜色。所以要实现定制JTableHeader,步骤如下:

             1.根据要实现的效果实现TabelCellRenderer。

             2.用表内容,列名初始化JTable后,用上述两种方法(JTableHeader,TableColumn)设

                置列头的渲染器。

             3.调用TableColumn的setHeaderValue()方法,重新设置每一列的列名。

下面是两个例子,1是实现列名显示图片,2是将列名显示为颜色

 

1是实现列名显示图片

 

 

 

2是将列名显示为颜色

 

抱歉!评论已关闭.