JTabbedPane组件占用整个窗口

时间:2013-02-03 18:51:27

标签: java swing jtabbedpane

我是Java和整个摇摆开发的新手。我正在使用带有三个选项卡的Window,并将每个组件添加到这些选项卡。我开始在第三个标签中添加一个文本字段,但它占用了整个标签。我敢肯定,如果我添加其他组件,它会腾出空间,但是没有办法让它成为最终不会占用整个标签窗格?

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);
    }
}

1 个答案:

答案 0 :(得分:2)

您当前正在为该标签设置整个标签组件。相反,您需要将JTextField添加到该选项卡的容器/面板中。取代

tabs.setTabComponentAt(2, addCharacterTextField);

charactersPanel.add(addCharacterTextField);