对于少量数据,请考虑
java.util.prefs.Preferences.
您能为我提供一些使用示例吗?
Several examples are examined in the Preferences API
Overview
and the example cited here
(API and
pre).
Alternatively, consider
javax.jnlp.PersistenceService, cited
here, “for applications that are
running in the restricted execution environment.”
这个最小的示例通过将先前保存的值添加到表中并覆盖表模型的
setValueAt()实现以保存任何更改来更新单个单元格。编辑表,退出并重新启动以查看效果。
package org.name.table;import java.awt.Dimension;import java.awt.EventQueue;import java.util.prefs.Preferences;import javax.swing.Jframe;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.table.DefaultTableModel;public class TablePreference { private void display() { Jframe f = new Jframe("TablePreference"); f.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE); f.add(new JScrollPane(new JTable(new PrefModel()) { @Override public Dimension getPreferredScrollableViewportSize() { return new Dimension(128, 32); } })); f.pack(); f.setLocationRelativeTo(null); f.setVisible(true); } private static class PrefModel extends DefaultTableModel { private static final int DEFAULT = 42; private static final String VALUE_NAME = "value"; private final Preferences p = Preferences.userNodeForPackage(TablePreference.class); public PrefModel() { addColumn("A"); addRow(new Object[]{p.getInt(VALUE_NAME, DEFAULT)}); } @Override public void setValueAt(Object aValue, int row, int col) { super.setValueAt(aValue, row, col); p.putInt(VALUE_NAME, (int) aValue); } @Override public Class<?> getColumnClass(int col) { return getValueAt(0, col).getClass(); } } public static void main(String[] args) { EventQueue.invokeLater(new TablePreference()::display); }}


