ホームページ >Java >&#&チュートリアル >単一のチェックボックスをオフにしたときに、JTable で選択されているすべてのチェックボックスをオフにする方法

単一のチェックボックスをオフにしたときに、JTable で選択されているすべてのチェックボックスをオフにする方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-07 17:54:14313ブラウズ

How to Uncheck All Selected Checkboxes in a JTable Upon Single Checkbox Uncheck?

JTable でチェックボックスがオフになっている複数の行選択

編集不可能なテキスト列とブール値を表示するチェックボックス列を持つ JTable では、次のようなシナリオが発生する可能性があります。 1 つのチェックボックスがオフになっているときに、選択中のすべてのチェックボックスをオフにしたいとします。これを実現する方法は次のとおりです。

提供された例は、簡素化のためにボタンを使用したグラフィカル ユーザー インターフェイスを示しています。ただし、SelectionAction はメニューまたはポップアップに対して効果的に実装できます。

次の手順を検討してください:

データ構造

  • DefaultTableModel を拡張するカスタム DataModel を定義します。
  • getColumnClass メソッドをオーバーライドして、チェックボックスの列がブール値であることを指定しますclass.
  • isCellEditable メソッドをオーバーライドして、チェックボックス列を編集可能にします。

選択処理

  • 行の選択を管理するには、DefaultListSelectionModel を利用します。

チェックボックスのアクション操作

  • ボタン イベントを処理するために AbstractAction を拡張する SelectionAction クラスを定義します。
  • 目的のチェックボックスの状態を示すためにコンストラクターにブール値を渡します。
  • アクションがトリガーされ、選択された行を反復処理し、選択された各行のチェックボックスの値を指定されたブール値に設定します。 row.

統合

  • ボタンのあるコントロール パネルをメイン JPanel に追加します。
  • ボタンのクリックをリッスンし、SelectionAction を実行してチェックボックスの更新を管理します.

例コード

//...
private class ControlPanel extends JPanel {
    public ControlPanel() {
        this.add(new JLabel("Selection:"));
        this.add(new JButton(new SelectionAction("Clear", false)));
        this.add(new JButton(new SelectionAction("Check", true)));
    }
}
//...

このアプローチは、JTable 内で複数の行の選択とチェックボックスのチェックを外すための包括的なソリューションを提供します。

以上が単一のチェックボックスをオフにしたときに、JTable で選択されているすべてのチェックボックスをオフにする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。