Я пытаюсь создать программу Java, в которую вы вводите слово в текстовое поле, и нажмите кнопку, и строка будет добавлена в поле вывода.
Я получил эту часть, но я стараюсь сделать так, чтобы каждый раз, когда нажимается кнопка, добавляется слово, а затем все слова перечисляются в поле вывода.
Я пробовал использовать Arrays и Arraylists с петлями, но без успеха. Любая помощь приветствуется.
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());