TableColumnModelをXMLファイルで保存、復元する
Total: 2124
, Today: 1
, Yesterday: 1
Posted by aterai at
Last-modified:
概要
JTable
のヘッダからTableColumnModel
を取得し、XMLEncoder
とXMLDecoder
を使って、XML
ファイルで保存、復元します。
サンプルコード
class TableColumnModelPersistenceDelegate extends DefaultPersistenceDelegate {
@Override protected void initialize(
Class<?> type, Object oldInstance, Object newInstance, Encoder encoder) {
super.initialize(type, oldInstance, newInstance, encoder);
DefaultTableColumnModel m = (DefaultTableColumnModel) oldInstance;
for (int col = 0; col < m.getColumnCount(); col++) {
Object[] o = {m.getColumn(col)};
encoder.writeStatement(new Statement(oldInstance, "addColumn", o));
}
}
}
view all解説
上記のサンプルでは、JTableHeader
からTableColumnModel
を取得してXMLEncoder
でXML
ファイルに保存、XMLDecoder
で復元することでマウスドラッグによる列の入れ替え、幅の変更、カラム名の変更などを永続化しています。