내가 선택한 노드의 실제 선택 영역이 JTree의 맨 왼쪽부터 JTree의 맨 오른쪽까지 확장되도록 JTree를 수정하려고합니다. .JTree : L & F에 관계없이 모양 수정
웹상의 대부분의 예제에서는 BasicTreeUI를 확장하는 방법에 대해 설명합니다. 거기에서 선택 영역을 결정하는 메소드를 수정하면됩니다. 그러나 JTree는 실행 플랫폼에 관계없이 JTree가 해당 구현을 사용할 것을 요구합니다. 필자는 항상 Metal, Windows 또는 Aquia 구현이 아닌 BasicTreeUI를 사용할 때 특정 플랫폼을 대상으로하는 다양한 UI 구현을 활용할 수는 없습니다.
JTree에 현재 설치되어있는 BasicTreeUI의 모든 구현을 가져 와서 BasicTreeUI를 확장하는 사용자 정의 래퍼로 포장하는 것이 가장 이상적입니다. 거기에서 모든 메소드를 오버라이드하고 래핑 된 UI에 위임하고 노드 선택 영역을 다시 계산해야하는 경우 몇 가지 메소드를 구현합니다. 그러나 BasicTreeUI의 대부분의 메서드는 보호되어 있으므로 그래서이 작업을 실제로 수행 할 수 있습니다.
이 문제를 해결하는 방법을 모르는 ... 어떤 아이디어라도 환영합니다!
"BasicTreeUI의 대부분의 메소드는 보호되어 있습니다"- 보호 된 경우 재정의 할 수 있습니다. 즉 'private'입니까? –