[英]Changing the NatTable cell selection color
当我单击一行时,整个行的颜色将按预期变化。 但是,鼠标所在的单元格将更改为与该行其余部分不同的颜色。 我试图防止单元格更改为不同于该行其余部分的颜色。
我试图弄清楚要在哪里设置单元格选择颜色以及如何删除它(让单元格选择使用当前背景色的单元格)。
我尝试通过修改CellConfigAttribute或通过以下方式取消注册等操作均未成功:
getNatTable().getConfigRegistry().
unregisterConfigAttribute(CellConfigAttributes.CELL_STYLE);
但没有运气。 我不知道如何依次遍历所有样式并查看其来源。 我希望看到一个类似于以下内容的现有方法:
List<ConfigAttribute<IStyle>> list = getNatTable().getConfigRegistry().
getConfigAttributesInOrder();
不幸的是,我看到的只是这样的东西,对于我的情况我认为没有用:
List<String> strings = getNatTable().getConfigRegistry().
getDisplayModeOrdering().getDisplayModeOrdering("SELECT");
我已经阅读了具有一些一般性建议的文档,但是没有看到明确的代码示例来说明如何执行此操作。 因此,显示如何确定要在哪里修改单元格以及如何防止它被修改?
我用于完整行选择的代码是:
public void foo() {
final SelectionLayer selectionLayer = glazedListsGridLayer.
getBodyLayerStack().getSelectionLayer();
final RowOnlySelectionConfiguration<T> selectionConfig =
new RowOnlySelectionConfiguration<>();
selectionLayer.addConfiguration(selectionConfig);
getNatTable().addConfiguration(new RowOnlySelectionBindings());
}
您正在谈论选择锚。 唯一要做的就是为DisplayMode.SELECT注册相同的样式,并为您仅为DisplayMode.SELECT注册的标签贴上SelectionStyleLabels.SELECTION_ANCHOR_STYLE。 在DefaultSelectionStyleConfiguration中注册了不同的样式
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.