Java 向jFrame添加多个JPanel

Java 向jFrame添加多个JPanel,java,swing,jpanel,layout-manager,Java,Swing,Jpanel,Layout Manager,我想将两个JPanel并排添加到JFrame中。这两个框是JPanel,外部框是jframe 我有这些代码行。我有一个名为seatinPanel的类,它扩展了JPanel,在这个类中我有一个构造函数和一个名为utilityButtons的方法,它返回JPanel对象。我希望实用按钮JPanel位于右侧。我这里的代码在运行时只显示utillityButtons JPanel public guiCreator() { setTitle("Passenger Seats");

我想将两个JPanel并排添加到JFrame中。这两个框是JPanel,外部框是jframe

我有这些代码行。我有一个名为seatinPanel的类,它扩展了JPanel,在这个类中我有一个构造函数和一个名为utilityButtons的方法,它返回JPanel对象。我希望实用按钮JPanel位于右侧。我这里的代码在运行时只显示utillityButtons JPanel

public guiCreator()
    {
        setTitle("Passenger Seats");
        //setSize(500, 600);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        Container contentPane = getContentPane();

        seatingPanel seatingPanel1 = new seatingPanel();//need to declare it here separately so we can add the utilityButtons
        contentPane.add(seatingPanel1); //adding the seats
        contentPane.add(seatingPanel1.utilityButtons());//adding the utility buttons

        pack();//Causes this Window to be sized to fit the preferred size and layouts of its subcomponents
        setVisible(true);  
    }

您需要阅读并了解Swing提供的布局管理器。在您的情况下,了解JFrame的contentPane默认使用BorderLayout会有所帮助,您可以添加较大的中心JPanel BorderLayout.center和另一个JPanel BorderLayout.EAST。更多信息可在此处找到:

编辑1

安德鲁·汤普森(Andrew Thompson)已经在您之前的帖子中的代码中向您展示了一些布局管理器的知识:。同样,请阅读教程以更好地理解它们。

我推荐的最灵活的LayoutManager是

您可以执行以下操作:

JPanel container = new JPanel();
container.setLayout(new BoxLayout(container, BoxLayout.X_AXIS));

JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();

//panel1.set[Preferred/Maximum/Minimum]Size()

container.add(panel1);
container.add(panel2);

然后将container to object添加到框架组件中。

当我尝试这样做时,会出现以下错误:无法共享BoxLayout