Java 创建嵌套选项卡时出现问题

Java 创建嵌套选项卡时出现问题,java,swing,jtabbedpane,Java,Swing,Jtabbedpane,我正在尝试制作一个有一个主选项卡的程序,最终我会添加更多,然后在主选项卡替换的面板中应该有4个选项卡。这是我正在做的一个项目,旨在尝试并教授我自己的java,所以我只想了解一些情况 import javax.swing.*; public class logBook extends JFrame{ public logBook(){ this.setSize(300,300); this.setVisible(true); this.s

我正在尝试制作一个有一个主选项卡的程序,最终我会添加更多,然后在主选项卡替换的面板中应该有4个选项卡。这是我正在做的一个项目,旨在尝试并教授我自己的java,所以我只想了解一些情况

import javax.swing.*;

public class logBook extends JFrame{

    public logBook(){
        this.setSize(300,300);
        this.setVisible(true);
        this.setLocationRelativeTo(null);
        JPanel mainPanel = new JPanel();
        JTabbedPane raidSectionsPane = new JTabbedPane();
        raidSectionsPane.addTab("Deltascape",mainPanel);
       JPanel deltascapePanel = new JPanel();
       JTabbedPane deltascapeSections = new JTabbedPane();
       deltascapeSections.addTab("V1.0",deltascapeSections);
        raidSectionsPane.add(deltascapePanel);
        this.add(raidSectionsPane);




    }
    public static void main(String[] args){
        logBook logger = new logBook();
        logger.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}
基本上我有点迷路了,我猜这是因为我对框架/窗格/面板缺乏了解。 如果我理解正确,框架是所有内容都将位于其中的主容器,而面板是框架中显示程序其他部分的部分。我不知道窗格是什么


但是我不知道如何使选项卡嵌套。

首先,我要花更多的时间通读一遍

JTabbedPane仍然只是另一种类型的组件,因此您可以使用addTab方法以与添加任何其他组件相同的方式添加它

不过,我会小心地这样做,因为这可能会让用户在视觉上感到困惑,请参见以下代码:

JPanel mainPanel = new JPanel();
JTabbedPane raidSectionsPane = new JTabbedPane();
raidSectionsPane.addTab("Deltascape", mainPanel);
JPanel deltascapePanel = new JPanel();
JTabbedPane deltascapeSections = new JTabbedPane();
deltascapeSections.addTab("V1.0", deltascapePanel);
mainPanel.add(deltascapeSections);
this.add(raidSectionsPane);
}
您需要将deltascapeSections添加到mainPanel,将mainPanel添加到deltascapeSections


哇,我没想到会这么容易,是的,我会再看一遍。那么,标签的好替代品是什么?也许是一个下拉列表?@jude最终,它会归结到你想要达到的目标
JPanel mainPanel = new JPanel();
JTabbedPane raidSectionsPane = new JTabbedPane();
raidSectionsPane.addTab("Deltascape", mainPanel);
JPanel deltascapePanel = new JPanel();
JTabbedPane deltascapeSections = new JTabbedPane();
deltascapeSections.addTab("V1.0", deltascapePanel);
mainPanel.add(deltascapeSections);
this.add(raidSectionsPane);
}