2016-11-14 2 views
0

행을 클릭하면 전체 행 색상이 예상대로 변경됩니다. 그러나 마우스가 끝난 셀은 나머지 행과 다른 색으로 바뀝니다. 나는 세포가 행의 나머지 부분과 다른 색으로 변하는 것을 막기 위해 노력하고 있습니다.NatTable 셀 선택 색상 변경

셀 선택 색상이 설정되는 위치와 그 설정을 제거하는 방법을 알아 내려고합니다. 셀 선택에서 셀의 배경색을 사용하게하십시오.

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

하지만 운 :

나는 실패 하 CellConfigAttribute을 수정하거나 통해 등록을 해제 같은 것들을 시도했습니다. 나는 모든 스타일을 순서대로 반복하고 이것이 어디서 생성되는지를 알 수있는 단서가 없다. 불행하게도 내가 보는 모든이 같은 것입니다 내 상황에 유용하지 않는,

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()); 
} 

답변

1

. 그리고 DisplayMode.SELECT에 대해서만 동일한 스타일을 등록하고 DisplayMode.SELECT에만 등록하는 SelectionStyleLabels.SELECTION_ANCHOR_STYLE 레이블을 지정해야합니다. DefaultSelectionStyleConfiguration에 다른 스타일이 등록되었습니다.

+0

감사합니다. – ekjcfn3902039