선택 데이터 테이블에 항목 선택 기능을 추가합니다. 항목은 독립적으로 또는 함께 선택할 수 있는 행, 열 또는 셀일 수 있습니다. 항목 선택은 사용자가 행 편집 또는 작업을 수행하기 위해 항목을 표시하는 등 테이블에서 일부 작업을 수행할 수 있는 대화형 테이블에서 특히 유용할 수 있습니다. 사용자가 열의 크기를 명시적으로 조정하면 사용자가 지정한 크기가 열의 새 현재 너비가 되도록 열의 기본 너비가 설정됩니다. 그러나 일반적으로 창의 크기가 조정되어 테이블 자체의 크기가 조정되는 경우; 열의 기본 너비는 변경되지 않습니다. 대신 기존 기본 설정 폭을 사용하여 새 열 너비를 계산하여 사용 가능한 공간을 채웁니다. 앞의 코드에서 볼 수 있듯이 테이블 모델을 구현하는 것은 간단할 수 있습니다. 일반적으로 추상 테이블 모델 클래스의 하위 클래스에서 테이블 모델을 구현 합니다. 보다 정교한 인쇄 응용 프로그램의 경우 JTable.getPrintable을 사용하여 표에 대한 인쇄 가능한 개체를 가져옵니다. 인쇄 가능에 대한 자세한 내용은 2D 그래픽 트레일의 인쇄 단원에서 참조하십시오. 스크롤 창이 없는 테이블을 사용하는 경우 테이블 헤더 구성 요소를 직접 배치해야 합니다.

예: 다음 예제에서는 이 섹션에서 설명하는 아이디어를 한데 모읍시다. TableFilterDemo.java는 TableDemo에 적은 수의 변경 내용을 추가합니다. 여기에는 기본 테이블에 대한 선별기를 제공하고 텍스트 필드를 사용하여 필터링 정규식을 제공하는 이 섹션의 앞에 있는 코드 조각이 포함됩니다. 다음 스크린샷은 정렬 또는 필터링이 완료되기 전에 TableFilterDemo를 보여 주며, 이 중 에서 보여 주며, 모델의 행 3은 뷰의 행 3과 여전히 동일합니다: setAutoResizeMode를 호출하여 테이블의 크기 조정 동작을 변경할 수 있습니다. 테이블 모델에는 테이블 데이터가 변경될 때마다 알림을 받는 리스너 집합이 있을 수 있습니다. 리스너는 테이블모델리퍼의 인스턴스입니다. 다음 예제 코드에서 SimpleTableDemo는 이러한 수신기를 포함하도록 확장됩니다. 새 코드가 굵게 표시됩니다. 사용자 선택으로 인해 많은 이벤트가 생성됩니다.

이에 대한 자세한 내용은 쓰기 이벤트 리스너 단원에서 목록 선택 리스너를 작성하는 방법을 참조하십시오. 현재 선택 영역을 검색하려면 행 인덱스 배열을 반환하는 JTable.getSelectedRows및 열 인덱스 배열을 반환하는 JTable.getSelected열을 사용합니다. 잠재 고객 선택의 좌표를 검색하려면 테이블 자체 및 테이블의 열 모델에 대한 선택 모델을 참조하십시오. 다음 코드는 잠재 고객 선택의 행과 열을 포함하는 문자열을 서식화합니다. TableColumn은 열의 최소, 기본 설정 및 최대 너비에 대한 getter 및 setter 메서드와 현재 너비를 가져오는 메서드를 제공합니다. 셀의 내용을 그리는 데 필요한 공간의 근사치를 기반으로 셀 너비를 설정하는 예는 TableRenderDemo.java의 initColumnSizes 메서드를 참조하십시오. 테이블의 JTableHeader에 대한 도구 설명 텍스트를 설정하여 열 머리글에 도구 설명을 추가할 수 있습니다. 종종 다른 열 머리글에는 다른 도구 설명 텍스트가 필요합니다. 테이블 헤더의 getToolTipText 메서드를 재정의하여 텍스트를 변경할 수 있습니다.