在 Nattable 中更改列的高度 Header,而不是调整大小

Change height of the Column Header, not resize, in Nattable

我想增加列 header 单元格的大小,所以我制作了一个扩展 BeveledBorderDecorator class 的 CustomCellPainter 并且我将 interiorBounds.height 指定为 25,如下所示,但是来自 columnHeaderLayer 的内容被隐藏在 bodyLayer 后面,就像此处提供的图像 changing the height of column header in Nattable.

public void paintCell(ILayerCell cell, GC gc, Rectangle adjustedCellBounds, IConfigRegistry configRegistry) {
            Rectangle interiorBounds = getWrappedPainterBounds(cell, gc,
                    adjustedCellBounds, configRegistry);
            
            interiorBounds.height = 25;
            
            super.paintCell(cell, gc, interiorBounds, configRegistry);

我想更改列 header 单元格的高度并希望它在渲染时正确反映。我想知道要用什么 API。

除非你知道自己在做什么,否则永远不要碰画家。

如果您想在设置结构时以编程方式更改 ColumnHeaderLayer 的高度,您只需相应地配置 DataLayer

ILayer columnHeaderLayer = new ColumnHeaderLayer(
    new DataLayer(columnHeaderDataProvider, DataLayer.DEFAULT_COLUMN_WIDTH, 25),
    viewportLayer,
    selectionLayer);