JPanel zu JScrollPane hinzufügen

Ich habe eine GUI mit einem Bedienfeld, das eine Folge von Beschriftungen und Textfeldern enthält und ein Spring-Layout (dies ist das Hauptbedienfeld) und ein anderes Bedienfeld, das nur eine Schaltfläche (buttonPanel) enthält. Ich versuche mein mainPanel so zu gestalten, dass es auch eine vertikale Bildlaufleiste hat. Ich möchte meine GUI so implementieren, dass ich innerhalb des JFrame 2 Panels habe. Das mainPanel wird oben im Rahmen und das buttonPanel unter dem mainPanel angezeigt.

Mein Problem ist, dass ich die Panels nicht so anzeigen kann, dass sich das buttonPanel unter dem mainPanel befindet, und ich bin mir auch nicht sicher, wie ich dem mainPanel eine Bildlaufleiste hinzufügen kann. Jede Hilfe wäre dankbar.

EDIT: Ich konnte mein Problem bezüglich der JPanels lösen, jetzt ist mein einziges Problem, dass ich mein mainPanel nicht zum Scrollen bringen kann. Ich habe meinen neuesten Code unten hinzugefügt:

Hier ist der Code, den ich bisher habe:

public static void main(String args[]) {


            JFrame frame = new JFrame("SpringLayout");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JScrollPane scroll = new JScrollPane();
            Container contentPane = frame.getContentPane();

           JButton next = new JButton("Next");
           JPanel buttonPanel = new JPanel();
           buttonPanel.add(next);
            SpringLayout layout = new SpringLayout();
            JPanel mainPanel = new JPanel();
            mainPanel.setLayout(layout);
            contentPane.setLayout(new BorderLayout());


            int j = 25;
            for(int i =0;i<150;i++){
                JLabel label = new JLabel("Enter Name " + i );
                JTextField text = new JTextField(15);

            mainPanel.add(label);
            mainPanel.add(text);
            layout.putConstraint(SpringLayout.WEST, label, 10, SpringLayout.WEST,
                            contentPane);
            layout.putConstraint(SpringLayout.NORTH, label, j, SpringLayout.NORTH,
                            contentPane);
            layout.putConstraint(SpringLayout.NORTH, text, j, SpringLayout.NORTH,
                            contentPane);
            layout.putConstraint(SpringLayout.WEST, text, 20, SpringLayout.EAST,
                            label);
            j+=30;
            }
            //mainPanel.setSize(500,800);
            scroll.setPreferredSize(new Dimension(500,500));
            scroll.setViewportView(mainPanel);
            contentPane.add(scroll);
            contentPane.add(buttonPanel,BorderLayout.SOUTH);
            //mainWindow.add(contentPane);
            frame.setSize(500, 600);
            frame.setVisible(true);



        }

Antworten auf die Frage(3)

Ihre Antwort auf die Frage