Swing/ChangeSelection のバックアップの現在との差分(No.9)
- category: swing folder: ChangeSelection title: JTableの選択状態を変更 tags: [JTable] author: aterai pubdate: 2007-06-25T18:03:27+09:00 description: JTableの選択状態をchangeSelectionメソッドを使って変更します。 image:
概要
概要
JTable
の選択状態をchangeSelection
メソッドを使って変更します。
Screenshot
Advertisement
サンプルコード
サンプルコード
#spandel
box.add(new JButton(new AbstractAction("changeSelection") {
#spanend
#spanadd
p.add(new JButton(new AbstractAction("changeSelection") {
#spanend
@Override public void actionPerformed(ActionEvent e) {
int row = -1, col = -1;
try {
row = Integer.parseInt(rowField.getText().trim());
col = Integer.parseInt(colField.getText().trim());
} catch (Exception ex) {
ex.printStackTrace();
}
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.changeSelection(
// row, table.convertColumnIndexToModel(col),
// toggle.isSelected(), extend.isSelected());
table.requestFocusInWindow();
table.repaint();
}
}));
View in GitHub: Java, Kotlin解説
JTable#changeSelection
は、toggle
とextend
の2
つのフラグで、セルの選択状態を以下のようにいろいろ変更することができます(JTable#changeSelection(int, int, boolean, boolean) より引用)。
解説
JTable#changeSelection(...)
メソッドを使用すればtoggle
とextend
の2
つのフラグでセルの選択状態を以下のように変更可能です。
toggle
:false
、extend
:false
- 既存の選択をクリアし、新しいセルが確実に選択されるようにする。
- 既存の選択をクリアし新しいセルを確実に選択する
toggle
:false
、extend
:true
- 既存の選択をアンカーから指定のセルまで拡張して、ほかのすべての選択をクリアする。
- 既存の選択をアンカーから指定のセルまで拡張してほかのすべての選択をクリアする
toggle
:true
、extend
:false
- 指定されたセルが選択されている場合、そのセルを選択解除する。選択されていない場合、そのセルを選択する。
- 指定されたセルが選択されている場合そのセルを選択解除する。選択されていない場合そのセルを選択する
toggle
:true
、extend
:true
- アンカーの選択状態を、そのアンカーと指定されたセル間のすべてのセルに適用する。
- アンカーの選択状態をそのアンカーと指定されたセル間のすべてのセルに適用する
toggle
、extend
の状態を変えて、実際に選択状態の変化をテストすることができます。アンカーや選択状態、列の入れ替えなどを行ってchangeSelection
による変更の確認をしてみてください。
- -
-
toggle
、extend
の状態を変えて実際に選択状態の変化をテスト可能 - アンカーや選択状態、列の入れ替えなどを行って
changeSelection(...)
による変更もテスト可能
コメント
参考リンク
- JTable#changeSelection(int, int, boolean, boolean) (Java Platform SE 8)
- この記事の内容は、ほぼ上記の
API
ドキュメントからの引用
- この記事の内容は、ほぼ上記の