创建嵌套选项卡时遇到问题

Trouble creating nested Tabs

我正在尝试制作一个只有一个主标签的程序,最终我会添加更多,然后在主标签取代的面板中应该有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);
    }
}

基本上我有点迷茫我猜是因为我对Frames/panes/panels缺乏了解。 如果我理解正确的话,Frame 是主要容器,所有内容都在其中,而 panels 是框架中的部分,将显示程序的其他部分。我对什么是窗格感到困惑。

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

首先,我会花更多时间通读 How to Use Tabbed Panes

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

JTabbedPane outter = new JTabbedPane();
JTabbedPane inner = new JTabbedPane();
inner.addTab("Inner Tab", new JPanel());
outter.addTab("Outter Tab", inner);

JFrame frame = new JFrame("Testing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(outter);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);

尽管如此,我还是要小心,因为这可能会让用户在视觉上感到困惑(恕我直言)

查看此代码:

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