java - 将 JList 保存到 Txt 文件中
问题描述
在寻找了几个小时的答案后,我决定在这里问它,因为我找到的解决方案不起作用。
我有一个简单的 GUI 来注册一个人的名字/姓氏和出生日期。输入值后,数据将列在 JList 中。现在我想将 JList 中的数据保存到 Txt 文件中。但我找不到从 JList 获取数据的方法。
public void save(){
try(BufferedWriter bw = new BufferedWriter(new FileWriter("jlist.txt")))
{
/* Here should be the part, where I get the data from the JList */
bw.write(person.getNachname() + " ; " + person.getVorname() + " ; " + person.getDate() + "\n");
} catch (Exception speichern) {
speichern.printStackTrace();
}
}
稍后我想获取创建的 Txt 文件并将其加载回同一个 JList。
也许还有更好的方法可以做到这一点,但我还没有找到任何东西。
一些提示会很有帮助:)
解决方案
没有 JList 方法可以为您执行此操作。
您需要从ListModel
.
你ListModel
从JList
使用getModel()
方法中得到。
您需要编写一个循环来:
ListModel
使用该getElementAt(...)
方法获取每个元素。- 将元素转换为字符串并将数据写入文件。
一些提示会有所帮助
与您的问题无关,但通常这样的数据会显示在 JTable 中。然后,每个名字、姓氏和日期都有一个单独的列。阅读 Swing 教程中有关如何使用表格的部分以获取更多信息。
推荐阅读
- java - 使用 java 和 Xpath 获取 xml 的所有属性
- sql - 如何修复数据库中的拼写错误 在该记录中有多个记录 还有更多记录
- python - Python Matplotlib 在后台更新绘图
- sphinx - 在 sphinx-query 中使用不同 user_weights 的字段两次
- python-3.x - 'map' 对象在 python3 中不可下标
- scala - 如何从单个字符串列 RDD 中有效地提取多列?
- linux - http:接受错误:接受tcp [::]:8080:accept4:打开的文件太多;
- c# - Python 上的 C# DLL
- blazor - Blazor,使用 Fabric-js 控件
- f# - 如何使 F# Giraffe 默认路由指向 /health?