我想增加列标题单元格的大小,所以我做了一个CustomCellPainter扩展BeveledBorderDecorator类,我已经分配了interorbounds。height为25,如下图所示,但是来自columnHeaderLayer的内容被隐藏在bodyLayer后面,就像这里提供的图像一样,在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);
我想改变列标题单元格的高度,并希望它在渲染时正确反映。我想知道该使用什么API。
除非你知道自己在做什么,否则永远不要碰画家。
如果您想在设置结构时以编程方式改变ColumnHeaderLayer
的高度,您只需相应地配置DataLayer
即可。
ILayer columnHeaderLayer = new ColumnHeaderLayer(
new DataLayer(columnHeaderDataProvider, DataLayer.DEFAULT_COLUMN_WIDTH, 25),
viewportLayer,
selectionLayer);