概要
JTable
の選択状態をchangeSelection
メソッドを使って変更します。
Screenshot
Advertisement
サンプルコード
p.add(new JButton(new AbstractAction("changeSelection") {
@Override public void actionPerformed(ActionEvent e) {
int row = Integer.parseInt(rowField.getValue().toString());
int col = Integer.parseInt(colField.getValue().toString());
table.changeSelection(row, col, toggle.isSelected(), extend.isSelected());
// table.changeSelection(
// row, table.convertColumnIndexToModel(col),
// toggle.isSelected(), extend.isSelected());
table.requestFocusInWindow();
table.repaint();
}
}));
View in GitHub: Java, Kotlin解説
JTable#changeSelection(...)
メソッドを使用すればtoggle
とextend
の2
つのフラグでセルの選択状態を以下のように変更可能です。
toggle
:false
、extend
:false
- 既存の選択をクリアし新しいセルを確実に選択する
toggle
:false
、extend
:true
- 既存の選択をアンカーから指定のセルまで拡張してほかのすべての選択をクリアする
toggle
:true
、extend
:false
- 指定されたセルが選択されている場合そのセルを選択解除する。選択されていない場合そのセルを選択する
toggle
:true
、extend
:true
- アンカーの選択状態をそのアンカーと指定されたセル間のすべてのセルに適用する
toggle
、extend
の状態を変えて実際に選択状態の変化をテスト可能- アンカーや選択状態、列の入れ替えなどを行って
changeSelection(...)
による変更もテスト可能
参考リンク
- JTable#changeSelection(int, int, boolean, boolean) (Java Platform SE 8)
- この記事の内容は、ほぼ上記の
API
ドキュメントからの引用
- この記事の内容は、ほぼ上記の