我试图通过按下按钮(动作监听器)将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);
}
我认为我不需要发布除此之外的任何其他代码。如果您需要更多或全部,请告诉我。 有人可以帮我这个吗?
答案 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;
}
}