Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将两个窗口组合成一个窗口?_Java_Swing_Layout Manager - Fatal编程技术网

Java 如何将两个窗口组合成一个窗口?

Java 如何将两个窗口组合成一个窗口?,java,swing,layout-manager,Java,Swing,Layout Manager,我需要将名为“第一面板、第二面板、第三面板、第四面板”的选项卡窗口插入名为“动画”的窗口。 我应该怎么做才能让它看起来像一个窗口,它有一个带有四个选项卡的动画框、一个文本框和一个用户输入框 名为“Main”的头等舱: import java.awt.*; import javax.swing.*; public class Main { JFrame frame = new JFrame("Demo"); JPanel panel = new JPanel(); JLa

我需要将名为“第一面板、第二面板、第三面板、第四面板”的选项卡窗口插入名为“动画”的窗口。 我应该怎么做才能让它看起来像一个窗口,它有一个带有四个选项卡的动画框、一个文本框和一个用户输入框

名为“Main”的头等舱:

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);
    }
}


以下是我希望如何组合这两个窗口:


以下是我希望如何组合这两个窗口:不要扩展JFrame。扩展JPanel。然后可以将面板添加到主框架。这是一个GUI应该用一个JFrame来设计,然后将包含子组件的面板添加到框架中。好的,我已经修改了“public class Tabbed extends JPanel{”,但是你能告诉我我必须修改哪个面板吗?a可以完成图像中的布局。@VGR“BorderLayout可以完成布局..”的确!中间的选项卡式窗格,
行端的
文本
标签
页面
用户输入
。完成。下面是我想要组合这两个窗口的方法:不要扩展JFrame。扩展JPanel。然后你可以将面板添加到主框架中。这是一个GUI应该用一个JFrame设计,然后使用you将包含子组件的面板添加到框架中。好的,我已经修改了“公共类选项卡扩展JPanel{”,但是您能告诉我必须修改哪个面板吗?A可以完成图像中的布局。@VGR“BorderLayout可以完成布局..”的确!中间的选项卡式窗格,
端的
文本
标签和
页面
端的
用户输入
。完成。