我正在尝试创建一个 Java 程序,您可以在文本字段中输入一个单词,然后单击一个按钮,该字符串就会添加到输出框中。
我得到了那部分,但我试图做到每次单击按钮时都会添加一个单词,然后所有单词都会在输出框中列出。
我尝试使用带有循环的数组和数组列表,但没有成功。如有任何帮助,我们将不胜感激。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.ArrayList;
import java.util.Arrays;
public class test extends JFrame {
private JLabel label;
private JButton button;
private JTextField textfield;
private JTextArea result;
// private String [] words;
private ArrayList<String> list = new ArrayList<String>();
// Contructor
public test() {
setLayout(new FlowLayout());
label = new JLabel("Word:");
add(label);
textfield = new JTextField(15);
add(textfield);
button = new JButton("Add data to list");
add(button);
result = new JTextArea(10, 15);
add(result);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
result.setText(textfield.getText());
// int n = list.size();
// for(int i = 0; i < n ; i++)
// result.setText(list.get(i));
}
});
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// System.out.println("Hello");
test gui = new test();
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.setVisible(true);
gui.setSize(200, 325);
gui.setTitle("Title");
}
}
最佳答案
您现在所做的将 JTextArea 的内容完全替换为 JTextField 的内容,这不是您想要的。相反,您希望将 textfield
的内容添加到 result
中已存在的内容,其中包含以下内容:
result.setText(result.getText() + "\n" + textfield.getText());
关于java - 输入字符串并在每次单击按钮时添加到列表中,同时显示输入的所有字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23900351/