Welcher Layout Manager ?

Wie gesagt, nimm ohnehin lieber die zweite Variante. Ich hatte da aber was vergessen. Bei fill braucht man beim Hinzufügen einer Komponente nicht extra grow als Constraint anzugeben. Wenn man aber, wie bei der zweiten Variante, die Spalten und Zeilen im Konstruktor von MigLayout mit grow markiert, dann erlaubt es lediglich das Constraint grow zu benutzen (ansonsten könnte man es zwar benutzen, aber es würde nicht funktionieren). Ich selbst verwende immer lieber grow und gebe das dann auch beim Hinzufügen der Komponenten an, wenn ich es brauche. Habe ich die besten Erfahrungen mit gemacht. Generell muss ich aber sagen, dass es mit MigLayout immer mehrere Wege zum Erfolg gibt, du musst damit einfach ein bisschen rumspielen und deinen eigenen Stil finden. Man hätte die Aufteilung in 10:80:10 auch anders machen können, z.B. mit 10 Spalten. Dann müsste man beim zweiten Panel beim Hinzufügen aber als Constraint noch span 8 übergeben. Und es gibt noch jede Menge andere Wege. Wie gesagt, musst deinen eigenen Stil finden.

Hier ein funktionierendes Beispiel und ein Screenshort als Beweis:

package net.bytewelt.forum.help.nimda.miglayout;

import java.awt.Color;

import javax.swing.JFrame;
import javax.swing.JPanel;

import net.miginfocom.swing.MigLayout;

@SuppressWarnings("javadoc")
public class MigLayoutSample {
	public static void main(String[] args) {
		JFrame frame = new JFrame("MigLayoutSample");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		frame.setLayout(new MigLayout("ins 0, gap 0", "[grow 1][grow 8][grow 1]", "[grow]"));

		JPanel panel0 = new JPanel();
		panel0.setBackground(Color.YELLOW);
		frame.add(panel0, "grow");
		
		JPanel panel1 = new JPanel();
		panel1.setBackground(Color.RED);
		frame.add(panel1, "grow");
		
		JPanel panel2 = new JPanel();
		panel2.setBackground(Color.BLUE);
		frame.add(panel2, "grow");

		frame.setSize(500, 500);
		frame.setLocationRelativeTo(null);
		frame.setVisible(true);
	}
}

Und ganz nebenbei noch: Welche Version von MigLayout verwendest du denn? Ich habe die Version 4.2 und da funktioniert push ganz normal.

danke so gehts jetzt