Как сделать, чтобы новый набор JTextFields появлялся в новой строке после однократного нажатия кнопки - PullRequest
1 голос
/ 27 января 2020
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class NewTextFields {

    public static void main(String[] args) {

        final int width = 1200;
        final int height = 800;

        JFrame frame = new JFrame("Title");
        JPanel panel = new JPanel();
        JButton btn = new JButton("ADD Field");
        JTextField[] tfield = new JTextField[10];
        GridBagConstraints gbc = new GridBagConstraints();

        frame.setPreferredSize(new Dimension(width, height));
        frame.setMinimumSize(new Dimension(width, height));
        frame.setMaximumSize(new Dimension(width, height));
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        frame.setResizable(false);

        panel.setSize(width, height);
        panel.setLayout(new GridBagLayout());
        frame.add(panel);

        gbc.insets = new Insets(1,1,1,1);


        btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {

                int i;
                for (i = 0; i < 10; i++) {
                    tfield[i] = new JTextField(5);

                    panel.add(tfield[i], gbc);
                    panel.revalidate();

                }

            }
        });

        panel.add(btn, gbc);

        frame.pack();
        frame.setVisible(true);

    }

}

Я пытаюсь проверить некоторые вещи здесь, если кто-нибудь может мне помочь, я хотел сделать абаттон, который создает новый набор JTexfields в середине экрана, в то время как кнопка где-то на стороне и после строки создал (максимум 6) я могу использовать слушатель документа в каждой строке. Я новичок, и я не знаю, как сделать все это, просто спрашивая, возможно ли это.

...