Swing/ColumnSelection のバックアップの現在との差分(No.8)
- バックアップ一覧
- 差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- バックアップ を表示
- Swing/ColumnSelection へ行く。
- 1 (2008-03-11 (火) 15:42:16)
- 2 (2012-06-28 (木) 02:07:57)
- 3 (2013-02-20 (水) 13:41:20)
- 4 (2013-02-20 (水) 15:19:51)
- 5 (2013-03-30 (土) 21:16:15)
- 6 (2014-09-14 (日) 22:04:33)
- 7 (2014-10-19 (日) 19:05:20)
- 8 (2015-11-12 (木) 22:01:06)
- 9 (2017-05-10 (水) 15:58:47)
- 10 (2018-05-01 (火) 21:13:13)
- 11 (2020-04-24 (金) 18:34:11)
- 12 (2021-10-26 (火) 23:59:10)
- 追加された行はこの色です。
- 削除された行はこの色です。
--- category: swing folder: ColumnSelection title: JTableHeaderをクリックしてそのColumnのセルを全選択 tags: [JTable, JTableHeader, MouseListener] author: aterai pubdate: 2005-04-04T03:22:43+09:00 description: JTableHeaderをクリックしたとき、そのColumn以下にあるセルを全選択します。 image: https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTJrC8DyhI/AAAAAAAAAUw/SO1wMAudBiE/s800/ColumnSelection.png --- * 概要 [#e735902b] * 概要 [#summary] `JTableHeader`をクリックしたとき、その`Column`以下にあるセルを全選択します。 #download(https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTJrC8DyhI/AAAAAAAAAUw/SO1wMAudBiE/s800/ColumnSelection.png) * サンプルコード [#va7d85c3] * サンプルコード [#sourcecode] #code(link){{ final JTable table = new JTable(model); JTable table = new JTable(model); table.setCellSelectionEnabled(true); final JTableHeader header = table.getTableHeader(); JTableHeader header = table.getTableHeader(); header.addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent e) { if (!check.isSelected()) { return; } if (table.isEditing()) { table.getCellEditor().stopCellEditing(); } int col = header.columnAtPoint(e.getPoint()); table.changeSelection(0, col, false, false); table.changeSelection(table.getRowCount() - 1, col, false, true); } }); }} * 解説 [#fe0efc44] 上記のサンプルでは、`JTableHeader`にマウスリスナーを追加し、`JTableHeader#columnAtPoint(Point)`メソッドを使って、クリックされた`Column`を取得するようになっています。 * 解説 [#explanation] 上記のサンプルでは、`JTableHeader`に`MouseListener`を追加し、`JTableHeader#columnAtPoint(Point)`メソッドを使ってマウスでクリックされた位置にある`TableColumn`を取得しています。 `Column`全体の選択は、`changeSelection`メソッドを二回使用することで行っています。 - `TableColumn`全体の選択は`changeSelection`メソッドを`2`回使用することで実現している * 参考リンク [#b7494229] * 参考リンク [#reference] - [[JTableに行ヘッダを追加>Swing/TableRowHeader]] -- 行ヘッダをクリックして行の全選択 * コメント [#j69c8557] * コメント [#comment] #comment - メモ: `2008-03-11`に[[JTableのセルにあるフォーカスを解除>Swing/AnchorSelection]]から移動でこのページを作成。 -- &user(aterai); &new{2013-02-20 (水) 15:21:27}; #comment