OpenNode, LeafNode 등과 같은 그룹에서와 달리 JTree의 특정 노드를 색칠 (및 아이콘 부여)하고 싶습니다. 어떻게해야합니까?Java Tree 노드 색 지정
0
A
답변
0
이 작업을 수행하는 가장 쉬운 방법은 DefaultMutableTreeNode
을 사용하여 JTree
모델을 구성하고 특정 노드의 "사용자 개체"값을 설정 한 다음이 값을 사용하여 렌더러가 만났을 때의 동작을 결정하는 것입니다 그 노드.
처음에 우리는 간단한 모델을 구성하고 JTree
생성자에 전달 :
TreeCellRenderer renderer = new DefaultTreeCellRenderer() {
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus) {
// Defer to superclass to create initial version of JLabel and then modify (below).
JLabel ret = (JLabel) super.getTreeCellRendererComponent(tree, value, sel, expanded, leaf, row, hasFocus);
// We know that value is a DefaultMutableTreeNode so this downcast is safe.
MutableTreeNode node = (MutableTreeNode) value;
// Inspect user object and change rendering based on this.
if ("Hello".equals(node.getUserObject())) {
ret.setIcon(...);
}
// Could also inspect whether node is a leaf node, etc.
return ret;
}
};
2
This tutorial Sun의 고유 한 노드 아이콘 설정 방법과 트리에서 리프와 리프가 아닌 것을 구분하는 방법을 보여줍니다.
관련 문제
- 1. 트리 뷰 노드 색 변경
- 2. jsf rich의 기본 선택된 노드 : tree
- 3. 사용자 지정 MKPinAnnotationView 색
- 4. C#의 TreeView 노드 강조 표시 색
- 5. Eclipse, PyDev 구문 색 지정
- 6. UINavigationBar의 사용자 지정 선 색
- 7. B + Tree on-disk Java 구현 디스크
- 8. 리눅스 커널 - 붉은 색/검은 색 나무
- 9. R * -Tree 알고리즘이란 무엇입니까?
- 10. 사용자 지정 ColumnTree 노드 특성
- 11. Drupal : 노드
- 12. Microsoft Project 매크로에서 색 지정 작업
- 13. 사용자 지정 UIScrollView 스크롤 막대 색?
- 14. Excel 서식 지정 질문, 기본 회선 색
- 15. Visual Studio 2008 구문 색 지정 문제
- 16. vb.net/C# 코드 편집기 (색 지정 사용)
- 17. Visual Studio의 인스턴스 변수 색 지정
- 18. JQuery SVG 및 글꼴 색 지정
- 19. 포커스가있는 사용자 지정 목록보기 항목의 색 변경
- 20. Expression Tree 명명 규칙
- 21. red-black tree - construction
- 22. 플렉스 : Tree 컨트롤에서 데이터 추출
- 23. Java : 그래프에 노드 추가 버그
- 24. WPF : Tree 확장 키 조합
- 25. AdvancedDataGrid에 대한 대체 색 설정 - 부모 노드 용 및 기타 자식 노드 용
- 26. 사용자 지정 경로로 사용자 지정 노드 탭 만들기
- 27. C# XElement : HTML로 노드 형식 지정
- 28. 노드 표시 순서를 무작위로 지정 하시겠습니까?
- 29. Java - 실행할 IP 지정
- 30. Eclipse 라인 색 배경
감사 :
지금 사용자 정의 트리 셀 렌더링을 정의합니다. 이 기능은 제가 찾고 있던 기능이었습니다. – Goutham런타임시 동적으로 수행 할 수 있습니까? – Tobias
예. 사용자 객체 상태 중 하나를 업데이트한다고 가정하고이 변경으로 인해 해당 DefaultMutableTreeNode가 다르게 렌더링되게하려면 AbstractTreeModel 인스턴스에서 nodeChanged를 호출하고 다시 렌더링 할 노드를 전달해야합니다. – Adamski