0

我想知道,如何在 Java GUI 中通过新面板添加新项目。

我有课Program

public class Program extends javax.swing.JFrame {
 public ArrayList<Contact> contacts = new ArrayList<Contact>();
 public int pos;


public Program() {
    contacts.add(new Contact("John Tavares", "736426436", "Prague"));
    contacts.add(new Contact("John Doe", "725847896", "NY"));
    contacts.add(new Contact("Damien Smith", "725589963", "London"));
    pos = 0;
    initComponents();
}

然后是一些显示 ArrayList 内容的标签,它工作正常。课堂Contact上有姓名、电话和城市。

我有 JButton New Contact,它打开了新的 Panel NewContact,其中包含姓名、电话和城市的文本字段,当然还有 OK JButton。这也很好用。

谁能帮助我,我如何从 NewContact 的文本字段中获取文本并将它们添加到 ArrayList?

感谢您的任何建议

4

2 回答 2

1

我建议应该使用 JTable 来显示您的数据。阅读 Swing 教程中有关如何使用表格的部分以获取更多信息。

在您的新联系表单中,您可以直接将数据添加到 TableModel。DefaultTableModel 支持 addRow(...) 方法。

对于允许您将联系人添加到 TableModel 的更复杂的解决方案,您需要创建一个自定义模型。您可以使用Bean Table Model

如何从文本字段中获取文本

您使用 getText() 方法。阅读 Swing 教程。也许从How to Write an Action Listener. 当您单击按钮时,将调用 ActionListener。

于 2013-04-30T18:46:21.980 回答
1

如果我理解正确,你想用按钮添加联系人。首先,您必须创建一个新按钮:

private JButton mybutton = new JButton("Add");

然后你必须覆盖 actionListener

private void addActionListener() {
    mybutton.addActionListener(this);
}

然后你必须找出你按下了什么样的按钮:

@Override
public void actionPerformed (ActionEvent e) {
Object source = e.getSource();
if(source == mybutton)
    contacts.add(something);
}
于 2013-04-30T18:53:44.573 回答