DefaultTreeCellRenderer

DefaultTreeCellRenderer (트리의 엔트리 표시)

DefaultTreeCellRenderer은 트리의 엔트리를 표시해요. DefaultTreeCellRenderer은 불투명하지 않으며, paint를 서브클래스화하지 않는 한 이 설정을 바꾸지 않아야 해요. 이 클래스를 사용해 노드 표시를 사용자화하는 예시는 The Java Tutorial의 "How to Use Trees"에서 확인할 수 있어요.

출처: Java API Reference

본문

DefaultTreeCellRenderer이 사용하는 아이콘과 색상 집합은 다양한 setter 메서드로 설정할 수 있어요. 각 프로퍼티의 값은 기본값 테이블(defaults table)에서 초기화돼요. 룩앤필이 변경되면(updateUI 호출) UIResource 타입의 값을 가진 프로퍼티는 기본값 테이블에서 새로 고쳐져요.

DefaultTreeCellRenderer 프로퍼티와 기본값 테이블 키 매핑은 다음과 같아요:

프로퍼티 기본값 키
leafIcon Tree.leafIcon
closedIcon Tree.closedIcon
openIcon Tree.openIcon
textSelectionColor Tree.selectionForeground
textNonSelectionColor Tree.textForeground
backgroundSelectionColor Tree.selectionBackground
backgroundNonSelectionColor Tree.textBackground
borderSelectionColor Tree.selectionBorderColor

구현 참고: 이 클래스는 성능 향상을 위해 invalidate, validate, revalidate, repaint, firePropertyChange를 오버라이드해요. 오버라이드하지 않으면 이 자주 호출되는 메서드들이 기본 트리 셀 렌더러에 불필요한 코드 경로를 실행하게 돼요. 직접 렌더러를 작성한다면 이 메서드들을 오버라이드할 때 장단점을 신중히 저울질해야 해요.

경고: 이 클래스의 직렬화된 객체는 향후 Swing 릴리스와 호환되지 않을 수 있어요. 현재 직렬화 지원은 같은 버전의 Swing을 실행하는 애플리케이션 간 단기 저장이나 RMI에 적합해요.

더 알아보기 (Learn more)

Java 공식 API