У меня очень простая проблема с макетом с использованием MigLayout. Вот короткий SSCCE
import java.awt.Color;
import java.util.Random;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import net.miginfocom.swing.MigLayout;
public class LayoutDemo {
public static void main(final String[] args) {
JFrame frame = new JFrame();
JPanel panel = new JPanel(new MigLayout("insets 0, hidemode 2, debug", "", ""));
final JLabel[] labels = {new JLabel("Area 1"), new JLabel("Area 2"), new JLabel("Area 3")};
for (final JLabel l : labels) {
l.setHorizontalAlignment(JLabel.CENTER);
l.setBackground(new Color(new Random().nextInt(Integer.MAX_VALUE)));
l.setOpaque(true);
}
panel.add(labels[0], "w 200!");
panel.add(labels[1], "spany 2, push, grow, wrap");
panel.add(labels[2], "w 200!, grow, pushy");
frame.setContentPane(panel);
frame.setSize(600, 400);
frame.setVisible(true);
}
}
который производит следующий вывод:
Ячейка Области 1 занимает то же пространство по вертикали, что и Область 3. Но я хочу, чтобы Область 3 максимально отталкивала Область 1. Как я могу это сделать? Единственная фиксированная длина — это ширина двух левых меток.