【发布时间】:2017-05-05 20:28:57
【问题描述】:
我正在尝试设计一个用户界面,允许用户将包含有关人员信息的文件加载到系统中,然后访问有关单个人员的信息。 我有一个从 ArrayList 获取信息并创建对象 PersonList 的方法 getpersons。 ArrayList 是通过从 .txt 文件中读取有关人员的信息而生成的。 PersonList 再次包含单个 Person 对象。 现在我创建了一个 JButton,并在 EventListener 方法中调用了第一个方法。 所以基本上在单击按钮时,我的程序会读取文件并创建一个对象 PersonList。 然后我想遍历 PersonList 对象并将人员对象添加到 jlist。单击 J 列表中的对象后,我想在 JTextArea 中显示人员对象中包含的信息。现在我的第一个想法是将 person 对象直接传递给 Jlist。但我不知道如何让我的 JList 接受我的特定人员对象。
person 类看起来有点像这样:
public class Person
{
private String personname;
private String personage;
private String personaddress;
.....
}
我的 JButton 代码是这样的
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
ArrayList<String> personlist = readFile("data/persons.txt");
PersonList persons = getpersons(personlist);
for(int i = 0; i < persons.getsize(); i++)
{
JList.addItem(persons.getperson(i));
}
}
另一个想法是简单地显示人名,它是 Jlist 中的一个字符串。然后,我会将用户在 Jlist 中单击的名称与我在 PersonList 对象中的人员进行比较,并在文本区域中显示相应人员的信息。但这需要我从 jButton1ActionPerformed 方法中获取 PersonList 对象,该方法是私有的(并且不能更改为公共的)并将其传递给 JListActionPerformed 方法。 任何帮助,将不胜感激 我不确定这是否是一个好方法。如果您有更好的方法来执行此操作,我也会很高兴。
【问题讨论】:
-
当您尝试发布的代码时会发生什么? (顺便说一句,最后是一个显示努力的问题,所以谢谢你:P)
标签: java swing object jbutton private