Добавление нового текстового поля от клика по кнопке

 
 
 
Сообщения:3
Добрый день!
Хочу с помощью нажатия на кнопку «Добавить» сделать добавление новых текстовых полей для ввода интов.
Сделал коллекцию. Добавил кнопку и обработку событий на нее (добавление нового текстового поля в коллекцию), но что-то, видимо, я еще не знаю.
Помогите разобраться, пожалуйста, с моим кодом, или предложите более изящное решение, и пояснение к нему.
Спасибо!


package AddButtonScript;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

public class AddButtonScript extends JFrame {

    public AddButtonScript() {
        setTitle("Test Window");
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setBounds(300, 300, 400, 400);
        setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS));



        ArrayList<JTextField> textFieldArrayList = new ArrayList<>();

        for (int i = 0; i < textFieldArrayList.size(); i++) {
            add(textFieldArrayList.get(i));
        }

        JButton addButtonJButton = new JButton("Добавить");
        add(addButtonJButton);

        addButtonJButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {

        textFieldArrayList.add(new JTextField("Новое текстовое поле"));

            }

        });

        setVisible(true);
    }
}
 
 
Сообщения:88
убрать цикл for
вместо
textFieldArrayList.add(new JTextField("Новое текстовое поле"));

написать
JTextField field = new JTextField("Новое текстовое поле");
textFieldArrayList.add(field);
add(field);
revalidate();
 
 
Сообщения:3
Большое спасибо! Работает!
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет