NatTable多个背景色叠加时如何让指定颜色显示在最上层?
NatTable多背景色叠加时的优先级设置方案
NatTable中多个ConfigLabel对应的样式叠加时,优先级由标签在单元格标签栈中的顺序决定,越靠后的标签对应的样式优先级越高,要让蓝色背景展示在最上层,可通过以下方式实现:
- 调整标签添加顺序
蓝色背景对应的ConfigLabel要晚于其他背景色标签添加。如果你使用ILabelAccumulator自定义标签逻辑,把蓝色标签的添加代码放在其他背景色标签的添加逻辑之后,保证它在标签栈中处于更靠后的位置。 - 显式指定注册优先级
在ConfigRegistry中注册蓝色背景样式时,指定更高的优先级数值,数值越大优先级越高,示例代码如下:// 注册蓝色背景样式 configRegistry.registerConfigAttribute( CellConfigAttributes.CELL_STYLE, blueBackgroundStyle, DisplayMode.NORMAL, BLUE_BACKGROUND_LABEL ); - 验证标签栈顺序
如果调整后未生效,可在运行时调用对应单元格的getConfigLabels().getLabels()方法打印所有标签的顺序,确认蓝色背景的标签处于标签栈末尾即可。
内容的提问来源于stack exchange,提问作者dammuck
相关产品推荐
相关产品推荐

