2012-04-14 39 views
4

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

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); 
} 

回答

6

你试图将一个组件添加到布局,而且根本无法做到的。取而代之的是使用JPanel,给它一个GridLayout,然后将组件添加到JPanel(在这里充当“容器”)。

一般来说,您将要嵌套JPanels,每个JPanel使用GUI的最佳布局,这里是使用GridLayout的内部JPanel和使用BorderLayout的外部JPanel。然后,您只需在BorderLayout.CENTER位置将内部JPanel添加到外部JPanel(这里是您的contentPane)。