---
title: TableRowSorter RowFilter
tags: [TableRowSorter, RowFilter, JTable]
description: TableRowSorter、RowFilter関係の記事へのスクリーンショット付きリンク一覧
---
このページでは、`JDK 1.6.0`で追加された、`TableRowSorter`、`RowFilter`関係のメモを集めて一覧にしています。

#contents

* TableRowSorter RowFilter [#TableRowSorter]
** TableRowSorterでJTableのソート [#TableRowSorter]
#swingdescription(Swing/TableRowSorter,TableRowSorterでJTableのソート,JDK 6で導入された、TableRowSorterを利用して、JTableの行を降順、昇順にソートします。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTUnbg2jyI/AAAAAAAAAmU/-7yjlGSjBmo/s200/TableRowSorter.png)

** TableRowSorterのソートをヘッダクリックで昇順、降順、初期状態に変更 [#TriStateSorting]
#swingdescription(Swing/TriStateSorting,TableRowSorterのソートをヘッダクリックで昇順、降順、初期状態に変更,JDK 6で導入されたTableRowSorterのソートを、TableSorter.javaのようにヘッダクリックで昇順、降順、初期状態に切り替わるように設定します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTWVWrGvdI/AAAAAAAAApE/-DL1kAZzGsM/s200/TriStateSorting.png)

** RowFilterでJTableの行をフィルタリング [#RowFilter]
#swingdescription(Swing/RowFilter,RowFilterでJTableの行をフィルタリング,JDK 6で導入されたTableRowSorterにRowFilterを設定して、行のフィルタリングを行います。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTST-FvjRI/AAAAAAAAAik/ZbU9nuVVCiI/s200/RowFilter.png)

** RowFilterでJTableのページ分割 [#TablePagination]
#swingdescription(Swing/TablePagination,RowFilterでJTableのページ分割,JDK 6で導入されたRowFilterを使って、JTableの行をPagination風に分割して表示します。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTUiUh8yiI/AAAAAAAAAmM/eY1zd24d0ac/s200/TablePagination.png)

** JTableをソートした後の選択状態 [#UpdateSelectionOnSort]
#swingdescription(Swing/UpdateSelectionOnSort,JTableをソートした後の選択状態,JDK 6で導入されたRowSorterを使って、JTableをソートした場合、直前の選択状態がどう変化するかテストします。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTWaXC_E3I/AAAAAAAAApM/H9h2pJw-VSQ/s200/UpdateSelectionOnSort.png)

** JTableのRowFilterを一旦解除してソート [#ResetRowFilter]
#swingdescription(Swing/ResetRowFilter,JTableのRowFilterを一旦解除してソート,JTableのRowFilterを一旦解除してソートし、再びフィルタを設定することで表示される行を更新します。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTRuQZLwOI/AAAAAAAAAho/ovjovr-5nuI/s200/ResetRowFilter.png)

** JTableでソート中のカラムセル色 [#SortColumnColor]
#swingdescription(Swing/SortColumnColor,JTableでソート中のカラムセル色,どのカラムでソートされているかを表示するために、セルの背景色を変更します。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTTZ75OnPI/AAAAAAAAAkU/k4lx4c2XKK8/s200/SortColumnColor.png)

** JTableにソートされないサマリー行を表示する [#FixedSummaryRow]
#swingdescription(Swing/FixedSummaryRow,JTableにソートされないサマリー行を表示する,JTableの行をソートしても、常に最終行にサマリーを表示します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTM63Y0s8I/AAAAAAAAAZ8/o3lbm9QBcIs/s200/FixedSummaryRow.png)

** TableRowSorterのSortKeysをクリアする [#ClearSortingState]
#swingdescription(Swing/ClearSortingState,TableRowSorterのSortKeysをクリアする,JDK 6で導入されたTableRowSorterでの行ソートを、テーブルヘッダの「Shift+クリック」でクリアします。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTJF8YbgvI/AAAAAAAAAT0/NDSO1fqmVNw/s200/ClearSortingState.png)

** JTableの列固定とソート [#FixedColumnTableSorting]
#swingdescription(Swing/FixedColumnTableSorting,JTableの列固定とソート,列固定したJTableで、JDK 6で導入されたTableRowSorterを使った行ソートを行います。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTMzes1hqI/AAAAAAAAAZw/-m-PZSFzYAk/s200/FixedColumnTableSorting.png)

* ↑10 ↓11 [#vc5bba89]
#adsensebar

** JTableのソートアイコンを変更 [#TableSortIcon]
#swingdescription(Swing/TableSortIcon,JTableのソートアイコンを変更,JTableのソートアイコンを非表示にしたり、別の画像に変更します。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTUsaUYVkI/AAAAAAAAAmc/34Qz14LqOGc/s200/TableSortIcon.png)

** JTableのRowSorterをフィルタありソート不可にする [#FilterWithoutSorting]
#swingdescription(Swing/FilterWithoutSorting,JTableのRowSorterをフィルタありソート不可にする,フィルタありでソート不可のTableRowSorterを作成します。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTMr425A3I/AAAAAAAAAZk/ZFpsuUZWGcQ/s200/FilterWithoutSorting.png)

** JTableHeaderにJPopupMenuを追加してソート [#RowSorterPopupMenu]
#swingdescription(Swing/RowSorterPopupMenu,JTableHeaderにJPopupMenuを追加してソート,JTableHeaderにJPopupMenuを追加してソートします。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTSY9WWpNI/AAAAAAAAAis/Z0YqvftAIh8/s200/RowSorterPopupMenu.png)

** JTableでファイルとディレクトリを別々にソート [#FileDirectoryComparator]
#swingdescription(Swing/FileDirectoryComparator,JTableでファイルとディレクトリを別々にソート,JTableでファイルとディレクトリを別々にソートし、ディレクトリが常に先頭になるように設定します。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQXAQuafMsI/AAAAAAAAAqU/BDQdRbMeSnE/s200/FileDirectoryComparator.png)

** JTableがデフォルトでソートする列を設定する [#DefaultSortingColumn]
#swingdescription(Swing/DefaultSortingColumn,JTableがデフォルトでソートする列を設定する,JTableがデフォルトでソートする列とその方向を設定します。,https://lh5.googleusercontent.com/-qvzRq_TxwSg/Texuvm22ELI/AAAAAAAAA84/DhfjZ3TEATk/s200/DefaultSortingColumn.png)

** JTableの検索結果をRowFilterとHighlighterで強調表示する [#TableHighlightRegexFilter]
#swingdescription(Swing/TableHighlightRegexFilter,JTableの検索結果をRowFilterとHighlighterで強調表示する,JTableで正規表現による検索結果をRowFilterとHighlighterを使用して表現します。,https://lh3.googleusercontent.com/-9b6L1m5fhBk/UfUzbWaYGtI/AAAAAAAABw8/xhrIa_pJXls/s200/TableHighlightRegexFilter.png)

** JTableの複数キーを使ったソートをヘッダに表示する [#MultisortHeaderRenderer]
#swingdescription(Swing/MultisortHeaderRenderer,JTableの複数キーを使ったソートをヘッダに表示する,JTableの複数キーを使ったソートの状態をヘッダ上に別途表示します。,https://lh3.googleusercontent.com/-QNe3lJ3oXH0/Ulqu3vaS91I/AAAAAAAAB3U/Tb2kXiKV8Fs/s200/MultisortHeaderRenderer.png)

** JTableのPaginationとSwingWorkerでの逐次読み込み [#PageInputForPagination]
#swingdescription(Swing/PageInputForPagination,JTableのPaginationとSwingWorkerでの逐次読み込み,JTableでRowFilterを使ったPaginationとSwingWorkerでの逐次読み込みを行います。,https://lh5.googleusercontent.com/-1qIJd4HlwkQ/UnaN9fNNZtI/AAAAAAAAB5Y/JqssphQAq3Q/s200/PageInputForPagination.png)

** JTableのモデルが更新された時にソートを行う [#SortsOnUpdates]
#swingdescription(Swing/SortsOnUpdates,JTableのモデルが更新された時にソートを行う,JTableのモデルが更新された時にソートを行うように設定し、値の変更、行の追加などでの状態変化をテストします。,https://lh3.googleusercontent.com/-sydiHRbXRzw/VLvNhDDXdlI/AAAAAAAANvI/Qelj8B1NIWs/s200/SortsOnUpdates.png)

** JTableのSortKeyを永続化し、ソート状態の保存と復元を行う [#SortKeyPersistence]
#swingdescription(Swing/SortKeyPersistence,JTableのSortKeyを永続化し、ソート状態の保存と復元を行う,JTableのSortKeyを永続化して、そのソート状態をXMLファイルで保存、復元できるように設定します。,https://lh3.googleusercontent.com/-x9GESOvXeyc/Vf7c-CY1veI/AAAAAAAAOCE/lUO7hcq8-fw/s200-Ic42/SortKeyPersistence.png)

* ↑20 ↓21 [#lc01f22e]
#adsensebar

** JTableのセルに設定した日付をRegexFilterでフィルタリングする [#RegexDateFilter]
#swingdescription(Swing/RegexDateFilter,JTableのセルに設定した日付をRegexFilterでフィルタリングする,JTableのセルに設定した日付をRegexFilterなどでフィルタリングするテストを行います。,https://lh3.googleusercontent.com/-yjS3rTYWgk0/VwprmN868uI/AAAAAAAAOSs/-HBZ7l1VimsTNtZo7FDk0wwasI3G4wirACCo/s200-Ic42/RegexDateFilter.png)

** JTable内のチェックされた行のみ別のJTableに表示するフィルタを作成する [#CheckBoxRowFilter]
#swingdescription(Swing/CheckBoxRowFilter,JTable内のチェックされた行のみ別のJTableに表示するフィルタを作成する,JTableの各行に配置したJCheckBoxが選択されている場合、その行を別のJTableに表示するRowFilterを作成します。,https://drive.google.com/thumbnail?id=1NvW9GHFg1_ENevzp5ohu8q4HugyKpkpZdw)

** JTableで同一内容のセルを空表示にしてグループ化を表現する [#RowGroupInTable]
#swingdescription(Swing/RowGroupInTable,JTableで同一内容のセルを空表示にしてグループ化を表現する,JTableで直上のセルと同一内容のセルを空表示にして、行のグループ化を表現します。,https://drive.google.com/thumbnail?id=1BtPc00VYQd5w5UwghwQc6KYrIoZCZ0W_EQ)

** JTableのソートで空文字列を常に末尾にする [#EmptiesLastTableRowSorter]
#swingdescription(Swing/EmptiesLastTableRowSorter,JTableのソートで空文字列を常に末尾にする,JTableの空文字列を昇順・降順のどちらでソートしても常に末尾になるようなComparatorを設定します。,https://drive.google.com/thumbnail?id=1l9euW_QP9-mgRVSkxLocJ5XBOWphL8a8)

** JTableにLocalDataのフィルタリングを実行するRowFilterを設定する [#LocalDateFilter]
#swingdescription(Swing/LocalDateFilter,JTableにLocalDataのフィルタリングを実行するRowFilterを設定する,JTableの列にLocalDataを追加したカレンダーを作成し、指定した期間でその日付をフィルタリングするRowFilterを設定します。,https://drive.google.com/thumbnail?id=1eyfSFqFMOcxpCq2TfIRgKNkAKgei4BME)

** JTableHeaderのソートアイコンをヘッダセル右揃えで表示する [#TableHeaderRightAlignSortArrow]
#swingdescription(Swing/TableHeaderRightAlignSortArrow,JTableHeaderのソートアイコンをヘッダセル右揃えで表示する,JTableHeaderのソートアイコンの表示位置をタイトル文字列右隣からヘッダセル右揃えに変更します。,https://drive.google.com/thumbnail?id=1kIVVpk_5RXF_0L8G6lmCKbcvTm71Pv3Z)

** JTableHeaderのソートアイコンをヘッダセルの左上に表示する [#SortIconLayoutHeaderRenderer]
#swingdescription(Swing/SortIconLayoutHeaderRenderer,JTableHeaderのソートアイコンをヘッダセルの左上に表示する,JTableHeaderの任意の列のソートアイコンをtableタグを使用してヘッダセルの左上に表示するよう設定します。,https://drive.google.com/thumbnail?id=1f31_xhhURzzecQrFMY_jHDhCwvXngzFa)

** JTableの行を複数条件でソートする [#StandingsTablesComparator]
#swingdescription(Swing/StandingsTablesComparator,JTableの行を複数条件でソートする,JTableの列に複数のソートキーを使用するComparatorを設定して複合ソートを実行します。,https://drive.google.com/thumbnail?id=1LcVXjsezO1iupUupSIZ29iykap7BqIrj)