2013-02-03 38 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