我是 Java 新手(和 Swing),正在寻找一种将所有 JList 元素保存(并稍后重新加载)到数据库或特别是 MySQL 的方法。我阅读了有关 Java Serializable 的信息,但找不到可供参考的工作代码。
问问题
2078 次
1 回答
2
序列化不是答案。您要做的是拥有一个可以迭代 JList 模型类的控制器,并将每个项目的数据保存到数据库中。
String[] data = {"one", "two", "three", "four"};
JList dataList = new JList(data);
for(int i = 0; i < dataList.getModel().getSize(); i++) {
String item = (String)dataList.getModel().getElementAt(i);
saveItemToDatabase(item);
}
这样,您只是将数据保存到数据库,而不是列表的 UI 部分,以及尝试序列化 Jlist 的所有其他位。
编辑:为了保存整个模型,我仍然会单独保存项目,而不是 BLOB。因此,要从数据库中检索数据,您可以执行类似的操作
dataList.setListData(loadModelFromDatabase());
public Vector loadModelFromDatabase() {
Vector listModelData = new Vector();
ResultSet res = conn.prepareStatement("SELECT * FROM listmodel").executeQuery();
while(res.next()) {
listModelData.add(res.getString(1));
}
return listModelData;
}
于 2010-09-24T09:41:42.443 回答