2017-01-18 1 views
1

FocusSelection 사이의 관계에 대한 설명이 필요합니다. javafx.scene.control.TreeTableView. 내 코드에서JavaFX/TreeTableView : 선택과 초점 간의 관계

은 내가 정의 :

ttvMainTree.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); 

가정 1 : I가 포커스 된 항목은 항상 왼쪽 클릭으로 마지막 항목 인 것을 가정했다. 또한 왼쪽 클릭으로 항상 선택 영역이 이동한다고 가정했습니다. 따라서 SelectionMode.SINGLE에서 포커스가있는 항목과 선택한 항목은 항상 동일합니다.

이것은 모든 상황의 90 %에서 올바른 것으로 보입니다. 어쨌든 어떤 임의의 왼쪽 clickes 내 코드 제작 등 사진 후 :

친절

enter image description here

는 확인 :

  • 파란색 배경을 가진 항목이 선택한 항목
  • 파란색과 항목을이다 국경 ist 집중된 품목

여기에서 집중된 품목은 좌 클릭으로 변화 할 수있다, 선정 된 품목은 나가이지 않는 것처럼 보인다 왼쪽 클릭에 의해 영향을받지 않습니다.

SSCCE을 제공하지 않은 것에 대해 사과드립니다. 지금은 코드를 줄이고이 동작을 재현하는 방법을 모릅니다.

따라서 일반적인 질문 :

  • 가정 한 어떤 문제가 있습니까? 당신이 Node을 선택하면 내 소견, 난 두의 행동에 차이가 있다고 생각하지 않습니다에서

답변

1

는,이 하나 개의 요청 초점, 오히려 당신이 말한 바와 같이 관계입니다. 초점은 "focusTraversable"으로 제어 할 수 있습니다

focusTraversable :이 노드가 포커스 호랑이 용기 사이클의 일부가되어야하는지 여부를 지정합니다. 이 property가 true의 경우, 통상의 포커스 traversal 키를 사용해,이 Node 및이 Node로 포커스를 이동할 수 있습니다. 귀하의 경우를 들어

난 당신이 자녀와 부모 Child 2 모두있는 TreeTableView을 선택했기 때문에 어쩌면 생각!

0

내 응용 프로그램이 비정상적으로 작동하는 이유를 찾았습니다 : 선택 수신기로 인해 데이터 모델이 업데이트되었습니다. 기본적으로 하위 요소가있는 목록이 삭제되어 같은 데이터로 다시 채워집니다. 이로 인해 선택 모델에 혼동이 생겼습니다.