ホームページ > Java > &#&チュートリアル > JTable 内の複数行のチェックボックスの選択を同期するにはどうすればよいですか?

JTable 内の複数行のチェックボックスの選択を同期するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-18 17:10:15
オリジナル
192 人が閲覧しました

How to Synchronize Multiple Row Checkbox Selections in a JTable?

JTable での複数行選択

編集不可能なテキストとブール値のチェックボックスを含む JTable に直面した場合は、すべてのボックスのチェックを外すことが望ましいです。どれか 1 つがチェックされていない場合は選択中です。また、その逆も同様です。

容易にするためこの動作については、次の例を考えてください。

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート