JPanels in JPanel

Ich habe ein problem mit Java JPanels. Ich würde gerne 2 JPanels mit verschiedenen layouts in ein JPanel, das ist auch ein layout. Ist es überhaupt möglich zu machen, damit es funktioniert?

    BibP()
setLayout(new GridLayout(5, 1)); //The big JPanel
add(new A(), new FlowLayout(4));
add(new B(), new GridLayout(7,2));    

A-und B-Klassen erweitert, die als JPanels und egal, was ich verändert oder kommentiert B erscheint immer in der 1 Reihe.
Ich habe 4 Elemente Hinzugefügt, um A und 14 B (JLabels und JTextAreas) und es ist nicht viel code in Ihnen nur die Hinzugefügt und ein paar Berechnungen.

Könnte das problem in den JFrame, wo ich bin und versuchen, das große JPanel.

    JFrame.this.add(new BigP(),BorderLayout.CENTER);    

Edit:

    public class BigP extends JPanel{
//Labels and TextAres

public class A extends JPanel{
    public A(){
        setBorder(new EmptyBorder(0, -50, 0, 0));
        //get date and add to textareas
        //add the label and textareas
}
}

public class B extends JPanel{
    public B (){
        setBorder(new EmptyBorder(0, -50, 0, 0));
        setBackground(Color.red);
        //colum longs for text areas less then 5
        //add labels and textareas
    }
}

public BigP(){
    setLayout(new GridLayout(5, 1));
    setBorder(new EmptyBorder(3,-160,0,0));

    add(new A(), new FlowLayout(4));
    add(new B(), new GridLayout(7,2));
}
}    

Danke für die Hilfe.

Nach ein paar versuchen:

Wenn ich diese verwendet:

    add(new B(), new GridLayout(7,2));

Bekomme ich diese in B, wenn ich printlned layout:

java.das awt.FlowLayout[hgap=5,vgap=5 align=center]

Wenn ich das Layout in B:

    setLayout(new GridLayout(7, 2));

Die information ist richtig:

java.das awt.GridLayout[hgap=0,vgap=0,Zeilen=7,cols=2]

Aber es gibt nur 2 JTextAreas vissible wo sollte 14 Elemente.

  • Der code scheint zu fehlen wichtige Teile. Wenn ich es mental, dann sieht alles gut aus. Können Sie bitte sicherstellen, dass Sie eingegeben genau was Sie haben. Offensichtlich gibt es ein problem mit ihm.
  • Ich bearbeitet den code.
  • Für bessere Hilfe früher, nach einem SSCCE.
InformationsquelleAutor PETI258 | 2013-08-13
Schreibe einen Kommentar