Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.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 JTable自定义标题渲染器,与其他具有nimbus外观的标题类似?_Java_Swing_Jtable - Fatal编程技术网

Java JTable自定义标题渲染器,与其他具有nimbus外观的标题类似?

Java JTable自定义标题渲染器,与其他具有nimbus外观的标题类似?,java,swing,jtable,Java,Swing,Jtable,每当我为JTable创建自定义标题渲染器时,nimbus look and feel都会让它看起来不正确。默认的表标题具有银色渐变,自定义渲染器看起来不是这样。在过去,我只是避免创建自定义标题渲染器。是否可以将默认外观复制到新的自定义渲染器上?基本上,我想添加一个复选框,使其周围的区域看起来像一个普通的列标题,而不仅仅是灰色。但我知道如何添加复选框并使其可点击。谢谢使用tableHeader中的默认标题渲染器: table.getTableHeader().getDefaultRenderer(

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

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


table.getTableHeader().getDefaultRenderer()

您可以创建MyTableHeaderRenderPainter扩展AbstractRegionPainter(javax.swing.plaf.nimbus.AbstractRegionPainter)

看看Nimbus如何塑造他们的画家

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

.setBackground(new MyTableHeaderRendererPainter());

画家的写作是复杂的。不幸的是,Nimbus TableheaderRenderPainter不可见。也许你可以使用不同外观和感觉的画家来获得可接受的结果。

对这个问题仍然感兴趣吗?:-)这无助于保持标题的正确外观。它会在屏幕上画出不同的图案。