JTableのSortKeyを永続化し、ソート状態の保存と復元を行う
Total: 3572
, Today: 1
, Yesterday: 1
Posted by aterai at
Last-modified:
概要
JTable
のSortKey
を永続化して、そのソート状態をXML
ファイルで保存、復元できるように設定します。
Screenshot
Advertisement
サンプルコード
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, Kotlin解説
上記のサンプルでは、JTable
のソート状態を表すRowSorter.SortKey
を永続化するため、以下のような設定を行っています。
RowSorter.SortKey
クラスのコンストラクタの引数をプロパティ名としてDefaultPersistenceDelegate
を作成RowSorter.SortKey
クラスをXML
で書き出すため、XMLEncoder#setPersistenceDelegate(...)
で上記のPersistenceDelegate
を設定TableModel
の書出しには別途JTableのモデルをXMLファイルで保存、復元するを使用- このサンプルでは、カラムヘッダの幅や順序には対応していない
- JTable Inhalte speichern – Byte-Welt Wiki
- TableColumnModelをXMLファイルで保存、復元するのような
DefaultPersistenceDelegate
を使ってカラムヘッダの幅や順序を保存する方法もある