Java 如何让JSplitPane中的JTabbedPane填充整个窗口?

Java 如何让JSplitPane中的JTabbedPane填充整个窗口?,java,swing,awt,layout-manager,Java,Swing,Awt,Layout Manager,我的JTabbedPane位于JPanel中的JSplitPane中,如下所示,但我不希望它像这样小: 我希望它看起来像这样: 我该怎么做 这是我的密码: 选项卡式_Tables.java public void setupWidow(){ JPanel left = new JPanel(); JPanel right = new JPanel(); JTabbedPane EntryTabs = new JTabbedPane();

我的JTabbedPane位于JPanel中的JSplitPane中,如下所示,但我不希望它像这样小:

我希望它看起来像这样:

我该怎么做

这是我的密码:

选项卡式_Tables.java

public void setupWidow(){
        JPanel left = new JPanel();
        JPanel right = new JPanel();

        JTabbedPane EntryTabs =  new JTabbedPane();
        JTabbedPane ViewTabs =  new JTabbedPane();
        EntryTabs.addTab("Form Entry", new FormEntry());
        EntryTabs.setOpaque(true);
        EntryTabs.addTab("Table Entry", new TableEntry());
        //EntryTabs.setSize(new Dimension(500,500));
        //ViewTabs.setSize(new Dimension(200,200));
        ViewTabs.add("Help Window", new HelpWindow());


        left.add(EntryTabs);
        right.add(ViewTabs);

        JSplitPane splitPane= new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,left, right);
        splitPane.setSize(new Dimension(pane.getWidth(),pane.getHeight()));
        //((JFrame) pane).setContentPane(splitPane);
        pane.add(splitPane,BorderLayout.CENTER);
        //this.setSize(500, 500);


        this.setVisible(true); 
        this.revalidate();
    }

JTabbedPane
s直接添加到
JSplitPane

JSplitPane splitPane= new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true, EntryTabs, ViewTabs);
或者将
左侧
右侧
的布局管理器更改为
边框布局

JPanel left = new JPanel(new BorderLayout());
JPanel right = new JPanel(new BorderLayout());

有关更多详细信息,请参见将
JTabbedPane
s直接添加到
JSplitPane

JSplitPane splitPane= new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true, EntryTabs, ViewTabs);
或者将
左侧
右侧
的布局管理器更改为
边框布局

JPanel left = new JPanel(new BorderLayout());
JPanel right = new JPanel(new BorderLayout());

有关更多详细信息,请参见将
JTabbedPane
s直接添加到
JSplitPane

JSplitPane splitPane= new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true, EntryTabs, ViewTabs);
或者将
左侧
右侧
的布局管理器更改为
边框布局

JPanel left = new JPanel(new BorderLayout());
JPanel right = new JPanel(new BorderLayout());

有关更多详细信息,请参见将
JTabbedPane
s直接添加到
JSplitPane

JSplitPane splitPane= new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true, EntryTabs, ViewTabs);
或者将
左侧
右侧
的布局管理器更改为
边框布局

JPanel left = new JPanel(new BorderLayout());
JPanel right = new JPanel(new BorderLayout());
有关更多详细信息,请参见使用此代码

import java.awt.*;
import javax.swing.*;
class MyLayout extends JFrame
{
    JPanel p1,p2;
    JTabbedPane jtp;
    public MyLayout()
    {
        setTitle("Tabed pane example");
        setSize(750,400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        p1 = new JPanel();
        p2 = new JPanel();

        jtp = new JTabbedPane(JTabbedPane.TOP);
        jtp.addTab("Table Entry",p1);
        jtp.addTab("Chart Entry",p2);
        add(jtp);

        setVisible(true);

    }
    public static void main(String args[])
    {
        MyLayout m = new MyLayout();
    }
}
您没有设置帧大小

请使用此代码

import java.awt.*;
import javax.swing.*;
class MyLayout extends JFrame
{
    JPanel p1,p2;
    JTabbedPane jtp;
    public MyLayout()
    {
        setTitle("Tabed pane example");
        setSize(750,400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        p1 = new JPanel();
        p2 = new JPanel();

        jtp = new JTabbedPane(JTabbedPane.TOP);
        jtp.addTab("Table Entry",p1);
        jtp.addTab("Chart Entry",p2);
        add(jtp);

        setVisible(true);

    }
    public static void main(String args[])
    {
        MyLayout m = new MyLayout();
    }
}
您没有设置帧大小

请使用此代码

import java.awt.*;
import javax.swing.*;
class MyLayout extends JFrame
{
    JPanel p1,p2;
    JTabbedPane jtp;
    public MyLayout()
    {
        setTitle("Tabed pane example");
        setSize(750,400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        p1 = new JPanel();
        p2 = new JPanel();

        jtp = new JTabbedPane(JTabbedPane.TOP);
        jtp.addTab("Table Entry",p1);
        jtp.addTab("Chart Entry",p2);
        add(jtp);

        setVisible(true);

    }
    public static void main(String args[])
    {
        MyLayout m = new MyLayout();
    }
}
您没有设置帧大小

请使用此代码

import java.awt.*;
import javax.swing.*;
class MyLayout extends JFrame
{
    JPanel p1,p2;
    JTabbedPane jtp;
    public MyLayout()
    {
        setTitle("Tabed pane example");
        setSize(750,400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        p1 = new JPanel();
        p2 = new JPanel();

        jtp = new JTabbedPane(JTabbedPane.TOP);
        jtp.addTab("Table Entry",p1);
        jtp.addTab("Chart Entry",p2);
        add(jtp);

        setVisible(true);

    }
    public static void main(String args[])
    {
        MyLayout m = new MyLayout();
    }
}

您没有设置框架大小

非常感谢,新的BorderLayout()非常感谢,新的BorderLayout()非常感谢,新的BorderLayout()非常感谢,新的BorderLayout()非常感谢,与使用
设置大小
相比,新的BorderLayout()非常好,我还避免直接从
JFrame
扩展,您没有向类添加任何新功能,只是将自己锁定在一个一次性容器中。
JFrame\35; pack
比使用
setSize
更可取,我还避免直接从
JFrame
扩展,您没有向类中添加任何新功能,只是将自己锁定在一个一次性容器中。
JFrame#pack
比使用
setSize
更可取,我还避免直接从
JFrame
扩展,您没有向类中添加任何新功能,只是将自己锁定在一个一次性容器中。
JFrame#pack
比使用
setSize
更可取,我还避免直接从
JFrame
扩展,您没有向类添加任何新功能,只是将自己锁定在一个单一用途的容器中。