Swing/FilterWithoutSorting のバックアップソース(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- バックアップ を表示
- Swing/FilterWithoutSorting へ行く。
- 1 (2014-06-03 (火) 21:14:15)
- 2 (2014-06-12 (木) 21:33:18)
- 3 (2014-09-14 (日) 21:49:10)
- 4 (2014-10-23 (木) 00:50:42)
- 5 (2015-03-19 (木) 16:31:49)
- 6 (2015-05-24 (日) 23:04:05)
- 7 (2016-04-20 (水) 20:28:32)
- 8 (2017-06-08 (木) 13:32:04)
- 9 (2018-06-02 (土) 21:35:29)
- 10 (2020-05-30 (土) 01:10:11)
- 11 (2021-11-13 (土) 19:56:35)
- 12 (2025-01-03 (金) 08:57:02)
- 13 (2025-01-03 (金) 09:01:23)
- 14 (2025-01-03 (金) 09:02:38)
- 15 (2025-01-03 (金) 09:03:21)
- 16 (2025-01-03 (金) 09:04:02)
- 17 (2025-06-19 (木) 12:41:37)
- 18 (2025-06-19 (木) 12:43:47)
TITLE:JTableのRowSorterをフィルタありソート不可にする #navi(../) #tags(JTable, TableRowSorter) RIGHT:Posted by &author(aterai); at 2008-08-04 * JTableのRowSorterをフィルタありソート不可にする [#nf0e4e54] フィルタありでソート不可の`TableRowSorter`を作成します。 #download #ref(https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTMr425A3I/AAAAAAAAAZk/ZFpsuUZWGcQ/s800/FilterWithoutSorting.png) ** サンプルコード [#cbb5da29] #code(link){{ final TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(model) { @Override public boolean isSortable(int column) { return false; } }; sorter.setRowFilter(new RowFilter<TableModel,Integer>() { @Override public boolean include( Entry<? extends TableModel, ? extends Integer> entry) { return entry.getIdentifier() % 2 == 0; } }); }} ** 解説 [#a272ecaa] 上記のサンプルでは、行ファルタだけ利用して、行のソートは出来なくしておきたいので、`sorter`に以下のような設定をしています。 - `DefaultRowSorter#setRowFilter(RowFilter)`で偶数行だけ表示するフィルターを設定 - `DefaultRowSorter#isSortable(int)`をオーバーライドして常に`false`を返す ---- `DefaultRowSorter#setSortable(int, boolean)`を使用して、一部の列だけソート不可にすることもできます。 ** 参考リンク [#ea345b1c] - [http://docs.oracle.com/javase/jp/6/api/javax/swing/DefaultRowSorter.html DefaultRowSorter (Java Platform SE 6)] - [[JTableHeaderのカラムを選択不可にする>Swing/DisabledHeader]] ** コメント [#g670778a] #comment