繁体   English   中英

更改NatTable单元格选择颜色

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM