2010-01-21 4 views
3

내가 뭘하려는 건 정상적인 텍스트를 포함하지만 각 셀에 대한 오른쪽 정렬 텍스트 (계층의 수준에 관계없이 트리의 가장자리에 오른쪽 정렬)를 포함하는 각 셀과 함께 JTree를 만드는 것입니다.셀에 왼쪽 및 오른쪽 정렬 텍스트가있는 JTree?

내 자신의 TreeCellRenderer를 만들려고했지만 셀의 크기가 업데이트되지 않습니다. 나는 또한 사용자 정의 트리 UI로 this idea을 시도했지만 비슷한 문제가 발생했습니다.

트리의 오른쪽에 JPanel을 "붙인"사용자 지정 구성 요소를 만들려고했습니다. 이것은 가장 성공을했다,하지만 난이 여분의 패널을 세포가 오른쪽으로 확장 트리를 가지고 있고 만질 수 없었습니다 :

alt text http://img718.imageshack.us/img718/3676/problem.png

답변

1

당신은 SwingX 패키지에서하는 JXTreeTable를 사용을 시도 할 수 있습니다.

jxtreetable example http://blogs.sun.com/geertjan/resource/outline-tim-browser.png

그런 다음 (오른쪽 정렬 텍스트에 다른 나무 하나)이 열 등의 객체를 정의하는 것, 그리고 그것을 잘 해결해야한다.

테이블처럼 보이지 않게하려면 헤더 (setTableHeader (null))를 비활성화하고 "packing"메서드를 사용하여 열을 최적 크기로 유지하는 것이 좋습니다.

+0

흥미 롭습니다. 감사! ...하지만 꽤 맞춤화 된 JTree가 있기 때문에 기본적으로 JTable 인 구성 요소로 사각형 1부터 시작해야합니다 ... – Epaga

+0

@Epaga - JXTreeTable은 실제로 테이블입니다. 트리를 첫 번째 열의 렌더러로 사용합니다 (이 작업을 수행하는 데 필요한 여러 가지 수정 사항이 더 있음). 요점은 이것이 매우 유사하므로이 첫 번째 열에 대해 이미 사용한 트리 셀 렌더러를 설정할 수도 있습니다. 데이터는 트리처럼 관리되며 기본적으로 "getValueAt"가 포함 된 treenode가 있으므로 데이터 모델이 많이 변경되지는 않습니다. – Gnoupi

관련 문제