我想知道,如何在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?
感谢您的任何建议
答案 0 :(得分:1)
我建议使用JTable来显示你的数据。有关详细信息,请阅读How to Use Tables上的Swing教程中的部分。
在新的联系表单中,您可以直接将数据添加到TableModel。 DefaultTableModel支持addRow(...)方法。
对于允许您向TableModel添加联系人的更复杂的解决方案,您需要创建自定义模型。您可以使用Bean Table Model。
如何从文本字段中获取文本
您使用getText()方法。阅读Swing教程。也许从How to Write an Action Listener
部分开始。单击按钮时会调用ActionListener。
答案 1 :(得分: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);
}