使用新面板向ArrayList添加新项-swing Java
我想知道,如何在JavaGUI中通过新面板添加新项 我有课程使用新面板向ArrayList添加新项-swing Java,java,swing,user-interface,Java,Swing,User Interface,我想知道,如何在JavaGUI中通过新面板添加新项 我有课程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", "73
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();
}
公共类程序扩展了javax.swing.JFrame{
public ArrayList contacts=new ArrayList();
公共int pos;
公共计划(){
新增(新联系人(“约翰·塔瓦雷斯”、“736426436”、“布拉格”);
新增(新联系人(“John Doe”、“725847896”、“纽约”);
联系人。添加(新联系人(“Damien Smith”、“725589963”、“伦敦”);
pos=0;
初始化组件();
}
然后是一些显示ArrayList内容的标签,效果很好。在classContact
中有姓名、电话和城市
我有jbuttonnewcontact,它打开了一个新面板NewContact,其中有name、tel和city的文本字段,当然还有OK JButton。这也很好用
有人能帮我吗?我如何从NewContact的文本字段中获取文本并将其添加到ArrayList
感谢您的建议我建议使用JTable来显示您的数据。有关更多信息,请阅读Swing教程中的部分 在新的联系人表单中,您将直接向TableModel添加数据。DefaultTableModel支持addRow(…)方法 要获得更复杂的解决方案,使您能够向TableModel添加联系人,您需要创建自定义模型。您可以使用 如何从文本字段中获取文本
使用getText()方法。阅读Swing教程。可以从“如何编写动作侦听器”一节开始。当您单击按钮时,会调用动作侦听器。如果我理解正确,您可以使用按钮添加联系人。 首先,您必须制作一个新按钮:
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);
}
谢谢:)但我想知道如何在新的JPanel中添加新联系人,显示我的数据是第二件事。你不需要在JPanel中添加联系人。联系人不是Swing组件。你需要将联系人信息添加到Swing组件,然后将组件添加到面板。哦,对不起……我的意思是我有一个打开新JPanel的JButton,我写了它错。一切正常。在NewJPanel中,我有用于键入新姓名、电话和城市的文本字段,当按下“添加”按钮时,我想将这些数据添加到ArrayList联系人中