将JTextField从类传递给ArrayList类

时间:2015-01-14 15:32:32

标签: java arraylist jframe jpanel jtextfield

我试图通过按下按钮(动作监听器)将JTextField中的值从我的GUI(主)类传递到另一个类的ArrayList。

我尝试过一些事情,但无法真正解决。

这是我的GUI类,包含我要传递的文本字段:

private JButton button1;
private JTextField textfield9;

button1.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent evt) 
        {
            // here I want it to be added into the Arraylist after button click
        }
});

这是我在另一个带有ArrayList的类中所拥有的:

ArrayList<String> list;
public Administratie()
{
    list = new ArrayList<String>();
}

public void addToArray(String s)
{
    list.add(s);
}

我认为我不需要发布除此之外的任何其他代码。如果您需要更多或全部,请告诉我。 有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

您将textfield9.getText()的值传递给Administratie#addToArray()

这是一个简单的演示:

gui.java

import javax.swing.*;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.*;
import java.util.List;
public class gui extends JFrame{
private JButton button1;
private JTextField textfield9;
private JTextArea result;
public int i=0;

public class1(){

   super("");
setLayout(new FlowLayout());

   button1 = new JButton("button1");
   textfield9 = new JTextField(10);
   result = new JTextArea(30,30);


   Administratie administratie = new Administratie();

   button1.addActionListener(new ActionListener() {
    String temResult ="";
       public void actionPerformed(ActionEvent evt) 
       {
           // pass the value to Administratie 
           administratie.addToArray(textfield9.getText());

           // get the value from Administratie 
            temResult += administratie.getList().get(i++)+"\n";
            result.setText(temResult);

       }
});


add(textfield9,BorderLayout.CENTER);
add(button1,BorderLayout.WEST);
add(new JScrollPane(result), BorderLayout.SOUTH);

setVisible(true);
setSize(400,400);
}


public static void main(String[] args) {
   new gui();
} 
}

Administratie.java

import java.util.*;

public class Administratie{
ArrayList<String> list;
public Administratie()
{
    list = new ArrayList<String>();
}

public void addToArray(String s)
{
    list.add(s);
}

public List<String> getList(){
    return this.list;
}
  }