JTable 헤더에 컨트롤 삽입 방법
JTable 헤더에 컨트롤을 삽입하면 컬럼 관리가 편리해집니다. 부울 열의 확인란을 모두 선택하거나 전혀 선택하지 않는 등의 데이터입니다. 다음은 JTable 헤더에서 제대로 작동하는 컨트롤의 필요성을 해결하는 포괄적인 접근 방식입니다.
SelectAllHeader 클래스를 사용한 구현
SelectAllHeader 클래스는 JToggleButton을 확장하고 TableCellRenderer를 구현하여 다음을 수행합니다. 지정된 부울 열의 확인란을 제어하는 토글 버튼을 만듭니다. 토글 버튼을 클릭하면 해당 열의 모든 확인란이 선택 또는 선택 취소 상태로 설정됩니다.
class SelectAllHeader extends JToggleButton implements TableCellRenderer { private static final String ALL = "✓ Select all"; private static final String NONE = "✓ Select none"; // ... public SelectAllHeader(JTable table, int targetColumn) { // ... } @Override public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { return this; } // ... }
사용
이 컨트롤을 사용하려면 다음을 추가하세요. 지정된 열에 대한 헤더 렌더러로 사용:
TableColumn tc = table.getColumnModel().getColumn(BOOLEAN_COL); tc.setHeaderRenderer(new SelectAllHeader(table, BOOLEAN_COL));
추가 기능
SelectAllHeader 클래스는 열의 확인란 상태를 확인하고 그에 따라 자체 상태를 전환합니다. 또한 원하는 열에서만 토글 버튼이 클릭되도록 마우스 이벤트를 처리합니다.
결론
SelectAllHeader 클래스를 활용하면 웰을 쉽게 삽입할 수 있습니다. -JTable 헤더의 동작 제어로 부울 열의 모든 확인란을 선택하거나 선택 취소하는 편리한 방법을 제공합니다. 이 접근 방식은 유연하며 체크박스 렌더러를 사용하는 모든 열에 적용할 수 있습니다.
위 내용은 JTable 헤더에 모두 선택/없음 컨트롤을 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!