将组件添加到 JTabbedPane



当我运行代码时,没有任何组件,无论是JTable还是按钮都不会显示在选项卡中,它们出现在选项卡窗口的侧面。 为什么会这样?

public void GUIcode() {

    setLayout(new GridBagLayout());
    setBounds(100, 100, 450, 300);
    panel = new JPanel();
    panel.setBorder(new EmptyBorder(10, 10, 10, 10));
    setContentPane(panel);
    panel.setLayout(null);
    JTabbedPane tabb = new JTabbedPane(JTabbedPane.TOP);
    tabb.setBounds(0, 0, 400, 300);
    panel.add(tabb);
    JPanel panel = new JPanel();
    tabb.addTab("vis vare", null, panel, null);
    panel.setLayout(null);
    tabellinnhold = new DefaultTableModel(defaulttabell,kolonnenavn);
    bytabell = new JTable(tabellinnhold);
    rullefelt = new JScrollPane(bytabell);
    panel.add(rullefelt);
    add(panel);
    koble = new JButton("koble til");
    lukke = new JButton("lukke");
    hente = new JButton("Hente data");
    avslutt = new JButton("Avslutt");
    // legger til knappepanel
    panel.setLayout(new GridLayout(1,4));
    panel.add(koble);
    panel.add(lukke);
    panel.add(hente);
    panel.add(avslutt);
    //action drit
    koble.addActionListener(this);
    lukke.addActionListener(this);
    hente.addActionListener(this);
    avslutt.addActionListener(this);
}

因为您将JTabbedPane添加到panel然后您编写

JPanel panel = new JPanel();

并添加了其他组件,包括JScrollPane和按钮。首先,代码不能以这种方式编译。其次,请更改添加顺序并将滚动窗格添加到选项卡中

最新更新