2013-02-03 62 views
2

我是新來的Java和整個swing開發。我正在使用三個選項卡在窗口上工作,並將每個組件添加到這些選項卡。我開始在第三個標籤中添加一個文本框,但它佔用了整個標籤。我敢肯定,如果我添加其他組件,它會騰出空間,但是沒有辦法實現它,所以它最初並不佔用整個Tabbed Pane?JTabbedPane組件佔用了整個窗口

package literature.windows; 
import java.awt.*; 
import javax.swing.*; 

public class MainWindow extends JFrame { 

JPanel storiesPanel = new JPanel(); 
JPanel plotPanel = new JPanel(); 
JPanel charactersPanel = new JPanel(); 

JTextField addCharacterTextField = new JTextField("Enter Character's Name", 25); 

public MainWindow() { 

    setSize(800, 600); 

    JTabbedPane tabs = new JTabbedPane(); 
    tabs.addTab("Stories", storiesPanel); 
    tabs.addTab("Plot", plotPanel); 
    tabs.addTab("Characters", charactersPanel); 
    add(tabs); 

    tabs.setTabComponentAt(2, addCharacterTextField); 

    setVisible(true); 
    } 
} 

回答

2

您當前正在設置該選項卡的整個選項卡組件。相反,您需要將JTextField添加到該選項卡的容器/面板。更換

tabs.setTabComponentAt(2, addCharacterTextField); 

charactersPanel.add(addCharacterTextField); 
+0

謝謝!我不能相信我看過那個。 – Marquisk2