JTable自定义标题渲染器,看起来像其他具有灵气的外观和感觉?

时间:2010-06-04 14:18:34

标签: java swing jtable

每当我为JTable创建一个自定义标题渲染器时,它最终看起来并不适合使用nimbus外观。默认表格标题具有银色渐变,自定义渲染器看起来不那样。在过去,我只是避免创建自定义标题渲染器。是否可以将默认外观复制到我的新自定义渲染器上?基本上我想添加一个复选框,让它周围的区域看起来像普通的列标题,而不仅仅是灰色。我知道如何添加复选框,并使其可以点击。感谢

2 个答案:

答案 0 :(得分:0)

您可以创建一个扩展了AbstractRegionPainter(javax.swing.plaf.nimbus.AbstractRegionPainter)的MyTableHeaderRendererPainter。

看看Nimbus如何设置其Painter https://github.com/xsstomy/javacode/blob/master/javax/swing/plaf/nimbus/TableHeaderRendererPainter.java

然后调用自定义渲染器的组件

.setBackground(new MyTableHeaderRendererPainter());

写画家很复杂。不幸的是,Nimbus TableHeaderRendererPainter不可见。也许您可以使用外观不同的Painter获得可接受的结果。

答案 1 :(得分:-1)

使用tableHeader中的默认标题渲染器:

table.getTableHeader().getDefaultRenderer()