Java JTable自定义标题渲染器,与其他具有nimbus外观的标题类似?
每当我为JTable创建自定义标题渲染器时,nimbus look and feel都会让它看起来不正确。默认的表标题具有银色渐变,自定义渲染器看起来不是这样。在过去,我只是避免创建自定义标题渲染器。是否可以将默认外观复制到新的自定义渲染器上?基本上,我想添加一个复选框,使其周围的区域看起来像一个普通的列标题,而不仅仅是灰色。但我知道如何添加复选框并使其可点击。谢谢使用tableHeader中的默认标题渲染器:Java JTable自定义标题渲染器,与其他具有nimbus外观的标题类似?,java,swing,jtable,Java,Swing,Jtable,每当我为JTable创建自定义标题渲染器时,nimbus look and feel都会让它看起来不正确。默认的表标题具有银色渐变,自定义渲染器看起来不是这样。在过去,我只是避免创建自定义标题渲染器。是否可以将默认外观复制到新的自定义渲染器上?基本上,我想添加一个复选框,使其周围的区域看起来像一个普通的列标题,而不仅仅是灰色。但我知道如何添加复选框并使其可点击。谢谢使用tableHeader中的默认标题渲染器: table.getTableHeader().getDefaultRenderer(
table.getTableHeader().getDefaultRenderer()
您可以创建MyTableHeaderRenderPainter扩展AbstractRegionPainter(javax.swing.plaf.nimbus.AbstractRegionPainter)
看看Nimbus如何塑造他们的画家
然后调用自定义渲染器的组件
.setBackground(new MyTableHeaderRendererPainter());
画家的写作是复杂的。不幸的是,Nimbus TableheaderRenderPainter不可见。也许你可以使用不同外观和感觉的画家来获得可接受的结果。对这个问题仍然感兴趣吗?:-)这无助于保持标题的正确外观。它会在屏幕上画出不同的图案。