簡體   English   中英

JTabbedPane內部的JPanel內部的JPanel不顯示

[英]JPanel inside a JPanel inside a JTabbedPane doesn't show up

我有一個嵌入到另一個JPanel(secondPanel)中的JPanel(firstPanel)。 我想創建一個帶有兩個選項卡的JTabbedPane:一個用於firstPanel,一個用於secondPanel。 但是,當我切換到secondPanel時,嵌入式的firstPanel將不會顯示。

import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;


public class Application extends JFrame
{   
    public Application()
    {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setMinimumSize(new Dimension(300, 300));


        JPanel firstPanel = new JPanel();
        firstPanel.add(new JLabel("first"));

        JPanel secondPanel = new JPanel();

//      JPanel thirdPanel = new JPanel();
//      thirdPanel.add(new JLabel("third"));
//
//      secondPanel.add(thirdPanel);
        secondPanel.add(firstPanel);
        secondPanel.add(new JLabel("second"));

        JTabbedPane mainPanel = new JTabbedPane();
        mainPanel.addTab("First", firstPanel);
        mainPanel.addTab("Second", secondPanel);

        this.add(mainPanel);
    }


    public static void main(String[] args) 
    {
        Application app = new Application();
        app.pack();
        app.setVisible(true);
    }

}

當我添加thirdPanel而不是第一個時,它可以按預期工作。 我是否缺少明顯的東西? 謝謝!

這是因為您試圖將一個面板添加到兩個不同的父對象,一個是您的secondPanel ,另一個是您的標簽。 你不能那樣做。

請問您為什么認為自己想這樣做? 可能有一個更好的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM