2016-11-14 8 views
0

行をクリックすると、行全体の色が期待通りに変わります。しかし、マウスが上にあるセルは、行の残りの部分とは異なる色に変化します。私は行の残りの部分とは異なる色にセルが変更されるのを防ぐようにしています。NatTableのセル選択色を変更する

セル選択の色がどこに設定されているか、どのように削除するかを把握しようとしています(セルの選択にセルの背景色を使用させる)。

getNatTable().getConfigRegistry(). 
    unregisterConfigAttribute(CellConfigAttributes.CELL_STYLE); 

しかし運:

私は失敗したCellConfigAttributeを修正するかを経由して、それを登録解除するようなものを試してみました。私はすべてのスタイルを順番に反復し、これがどこから生成されるかを知る手がかりがありません。私は読んだことがある

List<String> strings = getNatTable().getConfigRegistry(). 
    getDisplayModeOrdering().getDisplayModeOrdering("SELECT"); 

:残念ながら、私が見るすべては私が私の状況に役立つ見つからない、このようなもの、である

List<ConfigAttribute<IStyle>> list = getNatTable().getConfigRegistry(). 
    getConfigAttributesInOrder(); 

:私は次のように既存の方法を見たかったです一般的なアドバイスがありますが、これを行う方法を示す明示的なコードサンプルは見当たりません。だから、ショーは私がどこで細胞が変更されているかを決定し、それをどうやって防ぐのですか?

私は完全な行選択のために使用していたコードは次のとおりです。あなたが選択アンカーについて話している

public void foo() { 
    final SelectionLayer selectionLayer = glazedListsGridLayer. 
     getBodyLayerStack().getSelectionLayer(); 
    final RowOnlySelectionConfiguration<T> selectionConfig = 
     new RowOnlySelectionConfiguration<>(); 
    selectionLayer.addConfiguration(selectionConfig); 
    getNatTable().addConfiguration(new RowOnlySelectionBindings()); 
} 

答えて

1

。そして、あなたがしなければならないのは、DisplayMode.SELECTのために同じスタイルを登録し、DisplayMode.SELECTだけに登録するSelectionStyleLabels.SELECTION_ANCHOR_STYLEというラベルを付けることです。異なるスタイルがDefaultSelectionStyleConfigurationに登録されています

+0

ありがとうございました! – ekjcfn3902039

関連する問題