JTableのSortKeyを永続化し、ソート状態の保存と復元を行う
Total: 3905, Today: 2, Yesterday: 1
Posted by aterai at
Last-modified:
Summary
JTableのSortKeyを永続化して、そのソート状態をXMLファイルで保存、復元できるように設定します。
Screenshot

Advertisement
Source Code Examples
File file = File.createTempFile("output", ".xml");
try (XMLEncoder xe = new XMLEncoder(new BufferedOutputStream(new FileOutputStream(file)))) {
xe.setPersistenceDelegate(
RowSorter.SortKey.class,
new DefaultPersistenceDelegate(new String[] {"column", "sortOrder"}));
xe.writeObject(table.getRowSorter().getSortKeys());
// ...
View in GitHub: Java, KotlinDescription
上記のサンプルでは、JTableのソート状態を表すRowSorter.SortKeyを永続化するため、以下のような設定を行っています。
RowSorter.SortKeyクラスのコンストラクタの引数をプロパティ名としてDefaultPersistenceDelegateを作成RowSorter.SortKeyクラスをXMLで書き出すため、XMLEncoder#setPersistenceDelegate(...)で上記のPersistenceDelegateを設定TableModelの書出しには別途JTableのモデルをXMLファイルで保存、復元するを使用- このサンプルでは、カラムヘッダの幅や順序には対応していない
- JTable Inhalte speichern – Byte-Welt Wiki
- TableColumnModelをXMLファイルで保存、復元するのような
DefaultPersistenceDelegateを使ってカラムヘッダの幅や順序を保存する方法もある