我是 Java 和整个 swing 开发的新手。我正在开发一个带有三个选项卡的窗口,并将每个组件添加到这些选项卡中。我首先向第三个选项卡添加一个文本字段,但它占据了整个选项卡。我确信如果我添加其他组件,它会腾出空间,但是有没有办法使它最初不会占用整个选项卡式 Pane ?
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);
}
}
最佳答案
您当前正在为该选项卡设置整个选项卡组件。相反,您需要将 JTextField
添加到该选项卡的容器/面板中。替换
tabs.setTabComponentAt(2, addCharacterTextField);
与
charactersPanel.add(addCharacterTextField);
关于java - JTabbedPane 组件占据整个窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14675997/