> Java > java지도 시간 > JTable에서 여러 행 확인란 선택을 동기화하는 방법은 무엇입니까?

JTable에서 여러 행 확인란 선택을 동기화하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-18 17:10:15
원래의
192명이 탐색했습니다.

How to Synchronize Multiple Row Checkbox Selections in a JTable?

JTable의 다중 행 선택

편집할 수 없는 텍스트와 부울 확인란이 포함된 JTable에 직면하면 모든 상자를 선택 취소하는 것이 바람직합니다. 그 중 하나가 선택 취소되어 있으면 선택 상태에 있고 그 반대도 마찬가지입니다.

이 동작을 용이하게 하려면 아래 예를 고려하십시오.

import java.awt...;
import javax.swing...;

public class CheckABunch extends JPanel {
    // Constants and variables for data model and JTable setup
    private static final int CHECK_COL = 1;
    private static final Object[][] DATA = {...};
    private static final String[] COLUMNS = {...};
    private DataModel dataModel = ...;
    private JTable table = ...;
    private DefaultListSelectionModel selectionModel;

    // Constructor initializes the interface and selection model
    public CheckABunch() {
        super(new BorderLayout());
        ...
        table.setPreferredScrollableViewportSize(...);
        selectionModel = ...;
    }

    // DataModel provides custom column classes and editability
    private class DataModel extends DefaultTableModel {
        public DataModel(Object[][] data, Object[] columnNames) {...}
        public Class<?> getColumnClass(int columnIndex) {...}
        public boolean isCellEditable(int row, int column) {...}
    }

    // ControlPanel contains buttons for selecting and clearing
    private class ControlPanel extends JPanel {
        public ControlPanel() {...}
    }

    private class SelectionAction extends AbstractAction {
        boolean value;
        public SelectionAction(String name, boolean value) {...}
        public void actionPerformed(ActionEvent e) {...}
    }

    // Main method for creating and displaying the interface
    public static void main(String[] args) {...}
}
로그인 후 복사

이 예에서 SelectionAction은 버튼 클릭을 처리하여 사용자의 선택에 따라 확인란을 업데이트합니다. dataModel은 체크박스 열이 편집 가능하고 올바른 유형인지 확인합니다.

이 접근 방식을 사용하면 JTable에서 여러 행 체크박스 선택 및 동기화를 쉽게 구현할 수 있습니다.

위 내용은 JTable에서 여러 행 확인란 선택을 동기화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿