DefaultTableCellRenderer

DefaultTableCellRenderer (테이블 셀 기본 렌더러)

JTable의 표준 셀 렌더러입니다. JLabel을 하위 클래스로 하여 테이블 셀 하나의 값을 표시합니다.

출처: Java API Reference

본문

이 렌더러는 필요한 정보를 얻기 위해 getTableCellRendererComponent를 호출받으며, 셀 값뿐 아니라 선택 여부, 포커스, 행·열 인덱스 같은 상태를 받습니다.

표준 JLabel 컴포넌트는 이런 방식으로 쓰이도록 설계되지 않았고, 셀이 그려질 때마다 revalidate가 트리거되는 것을 피하고 싶습니다. 그래서 이 클래스는 validate, invalidate, revalidate, repaint, firePropertyChange 메서드를 no-op으로 오버라이드하고 isOpaque 메서드는 성능 향상을 위해 오버라이드합니다. 직접 렌더러를 작성할 때는 이 성능 고려 사항을 염두에 두세요.

DefaultTableCellRenderer.UIResource는 UIResource를 구현하는 하위 클래스입니다.

주요 메서드·상세 (Methods & details)

핵심 메서드는 셀 렌더링 컴포넌트를 반환하는 getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int)입니다. 이 렌더러는 셀 상태(선택·포커스 등)에 따라 JLabel의 텍스트·아이콘·색상을 설정합니다. updateUI()setValue(Object)도 관련됩니다.

더 알아보기 (Learn more)

Java 공식 API