如何在java中的边框布局中嵌入网格布局

R D*_*abh 4 java swing grid-layout

我有一个边框布局,我想在中心部分添加网格布局.但是,我无法声明网格,然后将其添加到我的中心边框.我怎样才能做到这一点?

public Liability_Calculator(String s)
{
    super(s);
    setSize(325,200);

    c = getContentPane();
    c.setLayout(new BorderLayout());

    //the top label
    total = new JLabel("Total monthly liabilities ", JLabel.CENTER);
    c.add(total, BorderLayout.NORTH);


    //the grid
    GridLayout grid = new GridLayout(2,2);

    text_field1 = new JTextField(7);

    //I GET AN ERROR HERE!!!!!!!
    grid.add(text_field1);

    //AND ERROR HERE!!!!!!!!!!!!!
    c.add(grid, BorderLayout.CENTER);




    setVisible(true);
}
Run Code Online (Sandbox Code Playgroud)

Hov*_*els 7

您正在尝试将某个组件添加到布局中,而这根本无法完成.而是使用JPanel,给它一个GridLayout,然后将组件添加到JPanel(在这里充当"容器").

通常,您需要使用GUI的最佳布局来嵌套JPanels,这里使用GridLayout的内部JPanel和使用BorderLayout的外部JPanel.然后,您只需将内部JPanel添加到BorderLayout.CENTER位置的外部JPanel(此处为contentPane).