Введите строку и добавляйте в список каждый раз, когда нажимается кнопка, отображая все введенные строки.

1

Я пытаюсь создать программу 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");
    }
}
Теги:
arrays
arraylist
buttonclick

1 ответ

0
Лучший ответ

То, что вы делаете, теперь полностью заменяет содержимое JTextArea на содержимое JTextField, чего вы не хотите. Вместо этого вы хотите добавить содержимое textfield поля к тому, что уже существует в result, с чем-то вроде:

result.setText(result.getText() + "\n" + textfield.getText());
  • 0
    Это сработало. Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню