Swing/UpdateSelectionOnSort のバックアップソース(No.2)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- バックアップ を表示
- Swing/UpdateSelectionOnSort へ行く。
TITLE:JTableをソートした後の選択状態 #navi(../) *JTableをソートした後の選択状態 [#ke69df21] >編集者:[[Terai Atsuhiro>terai]]~ 作成日:2008-03-24~ 更新日:&lastmod; #contents **概要 [#g9471dc9] JDK 1.6 で導入された RowSorter を使って、JTableをソートした場合、直前の選択状態がどう変化するかテストします。 #screenshot **サンプルコード [#rfe93d8e] #code{{ table.setUpdateSelectionOnSort(true); }} -&jnlp; -&jar; -&zip; **解説 [#ib5c8542] ソート後の、選択状態は、JTable#setUpdateSelectionOnSort メソッドで切り替えることが出来ます。 - setUpdateSelectionOnSort(true) -- ソート前と、「同じ内容の列」が選択された状態になる -- デフォルト - setUpdateSelectionOnSort(false) -- ソート前と、「表示上同じ列」が選択された状態になる ---- JDK 1.5 などで、TableSorter.java を使用したときと同じように、ソート後は選択状態をクリアする場合は、以下のようにJTableHeader に MouseListener を追加して、table.clearSelection() する方法などがあります。 #code{{ table.getTableHeader().addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { //mousePressed(MouseEvent e) { if(table.isEditing()) table.getCellEditor().stopCellEditing(); table.clearSelection(); } }); }} //**参考リンク **コメント [#o297f6ce] #comment