使用布局管理器将选项卡式窗格添加到面板

Adding a Tabbed Pane to a Panel using Layout managers

我只是想在面板上添加一个带有 5 个选项卡的选项卡式窗格,尽管只显示最后一个选项卡 (tab e)。

我显然在这里做了一些根本性的错误,我已经尝试更改要添加选项卡式窗格的面板的布局管理器,但我认为这不是问题所在。任何建议都会有所帮助,谢谢!

主要Class代码:

public static void main(String[] args) {
    JFrame frame = new JFrame("Data Structures Program");

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(600, 600);
    GraphicPanel G = new GraphicPanel();
    frame.add(G.getPanel());
    frame.setVisible(true);
}

图形Class

public class GraphicPanel {

    public JPanel topPanel;

    public GraphicPanel() {
        JPanel Panel = new JPanel();
        Panel.setLayout(new GridLayout(1, 1));

        JTabbedPane tabbedPane = new JTabbedPane();
        tabbedPane.addTab("a", Panel);
        tabbedPane.addTab("b", Panel);
        tabbedPane.addTab("c", Panel);
        tabbedPane.addTab("d", Panel );
        tabbedPane.addTab("e", Panel  );

        topPanel = new JPanel();
        topPanel.setLayout(new GridLayout(1, 1));
        topPanel.add(tabbedPane);
    }

    public JPanel getPanel(){
        return topPanel;
    }
}

如果您想在 JTabbedPane

中显示,您必须创建 JPanel 的新实例

试试这个代码:

JTabbedPane tabbedPane = new JTabbedPane();
tabbedPane.addTab("a", new Panel());
tabbedPane.addTab("b", new Panel());
tabbedPane.addTab("c", new Panel());
tabbedPane.addTab("d", new Panel());
tabbedPane.addTab("e", new Panel());