Как сгруппировать два окна в одно? - PullRequest
1 голос
/ 22 апреля 2019

Мне нужно вставить окно с вкладкой «Первая панель, Вторая панель, Третья панель, Четвертая панель» в окно «Анимация». Что мне делать, чтобы в конце оно выглядело так: окно с полем анимации с четырьмя вкладками, текстовым полем и полем ввода пользователя?

Первый класс называется "Главный":

import java.awt.*;
import javax.swing.*;

public class Main {
    JFrame frame = new JFrame("Demo");
    JPanel panel = new JPanel();
    JLabel square1 = new JLabel("Animation");
    JLabel square2 = new JLabel("Text");
    JTextField square3 = new JTextField("User Input");

    public Main() {
        panel.setLayout(new GridLayout(2,2,3,3));
        panel.add(square1);
        panel.add(square2);
        panel.add(square3); 
        frame.add(panel);

        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.pack();
        frame.setSize(600,400);
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        Tabbed tp = new Tabbed();       
        tp.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        tp.setSize(600,400);
        tp.setVisible(true);

        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Main();         
            }
        });
    }
}

'Второй класс под названием "Tabbed":'

import javax.swing.*;

public class Tabbed extends JFrame{

    private static final long serialVersionUID = 1L;

    JPanel firstPanel = new JPanel();
    JPanel secondPanel = new JPanel();
    JPanel thirdPanel = new JPanel();
    JPanel fourPanel = new JPanel();

    JLabel firstLabel = new JLabel("First!");
    JLabel secondLabel = new JLabel("Second!");
    JLabel thirdLabel = new JLabel("Third!");
    JLabel fourLabel = new JLabel("Fourth!");

    JTabbedPane tabbedPane = new JTabbedPane();

    public Tabbed(){
        firstPanel.add(firstLabel);
        secondPanel.add(secondLabel);
        thirdPanel.add(thirdLabel);
        fourPanel.add(fourLabel);

        tabbedPane.add("First panel",firstPanel);
        tabbedPane.add("Second panel",secondPanel);
        tabbedPane.add("Third panel",thirdPanel);
        tabbedPane.add("Fourth panel",fourPanel);

        add(tabbedPane);
    }
}

Вот как я хочу совместить два окна:

enter image description here

...