从GUI填充java集合

从GUI填充java集合,java,arrays,forms,Java,Arrays,Forms,我想创建一个集合,其中包含通过GUI表单接收的对象(人员) 表单包含姓名、姓氏和电话号码作为文本字段和添加按钮。 单击“添加”按钮,将使用文本字段中输入的数据创建一个新的人员 我被困在如何将所有这些人存储在另一个类的集合中。 我尝试了以下代码: List collection = new ArrayList(); collection.add(p); 其中p是人。 这不起作用。我做错了什么?创建一个类Person,其中包含所有必需的字段-name、surename、phonenumber作

我想创建一个集合,其中包含通过GUI表单接收的对象(人员)

表单包含姓名、姓氏和电话号码作为文本字段和添加按钮。 单击“添加”按钮,将使用文本字段中输入的数据创建一个新的人员

我被困在如何将所有这些人存储在另一个类的集合中。 我尝试了以下代码:

 List collection = new ArrayList();
 collection.add(p);
其中
p

这不起作用。我做错了什么?

创建一个类
Person
,其中包含所有必需的字段-name、surename、phonenumber作为该类的
成员。创建Person的新实例并适当设置这些字段,然后将其添加到
ArrayList
实例中

 //instantiate a new list to store Person objects
 static List<Person> personList = new ArrayList<Person>();
 //Create a new Person instance
 Person personObject = new Person();
 //set the fields in the person instance
 personObject.setName(name);
 personList.add(personObject);
//实例化一个新列表以存储Person对象
静态列表personList=新的ArrayList();
//创建一个新的Person实例
Person personObject=新的Person();
//设置person实例中的字段
personObject.setName(名称);
personList.add(personObject);
用于将人员添加到personList的代码必须添加到
actionListener#actionPerfomed(ActionEvent事件)
方法的Add按钮中。

您应该将Person类的成员设置为private,将setter和getter设置为public。您可以将列表实例标记为
静态
。因此,集合将在实例之间共享。添加到列表中的所有个人实例都将被保留。希望这对您有所帮助

重要的是在GUI中的容器类对象上有一个引用mlc

class myGUI   ...    {

    MyListContainer mlc = new MyListContainer();

    public void actionPerformed(...) {
        ... // here you create the Person object
        mlc.pl.add( aPerson);
    }
容器类本身可能有以下代码:

public class MyListContainer {
    public List<Person> pl = new ArrayList<Person>();
    ...    
}
公共类MyListContainer{
public List pl=new ArrayList();
...    
}

GUI编程的最佳实践是某种MVC模式:我创建了包含所有字段的Person类。此外,我还使用addPerson方法创建了另一个类,在该类中,我输入了您提供给我的所有代码。我收到一个非法的表达式开始,用于实例化新列表和其他两个错误:package personObject和personList不存在。我已清除了所有这些错误,但我的personList仍然没有记录人员。如上所述,我应该编写什么代码来将此人添加到personList中。谢谢你发代码?这对我帮助你会有帮助的,它起作用了。我设法救了personList系列中的人。非常感谢,亲爱的!很高兴它成功了:)不客气!请将我的答案标记为已接受!