2012-04-14 6 views
4

Ich habe ein Rahmenlayout und möchte dem mittleren Bereich ein Rasterlayout hinzufügen. Ich kann jedoch kein Raster definieren und dann meinen mittleren Rand hinzufügen. Wie kann ich das machen?Einbetten eines Rasterlayouts in ein Rahmenlayout in 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); 
} 

Antwort

6

Sie versuchen, eine Komponente zu einem Layout kann, und das einfach nicht getan werden, um hinzuzufügen. Verwenden Sie stattdessen ein JPanel, geben Sie ein GridLayout, und fügen Sie dann die Komponente zum JPanel hinzu (das hier als "Container" fungiert).

Im Allgemeinen werden Sie JPanels verschachteln wollen, indem Sie jeweils das beste Layout für die GUI verwenden, hier das innere JPanel mit GridLayout und das äußere mit BorderLayout. Dann fügen Sie einfach das innere JPanel zum äußeren (hier Ihr contentPane) in der BorderLayout.CENTER-Position hinzu.

Verwandte Themen