Пожалуйста, приведите быстрый пример, как смоделировать BorderLayout с MigLayout?

Хотелось бы WEST а также EAST доли макета должны быть постоянной ширины. Как настроить это с MigLayout?

ОБНОВИТЬ

Следующий код не изменяет размер как макет границы:

package testing.Test_MigLayout_01;

import javax.swing.JButton;
import javax.swing.JRootPane;
import javax.swing.SwingUtilities;

import net.miginfocom.swing.MigLayout;

public class App201210042244 
{

private class JFrame extends javax.swing.JFrame {

    {
        setLayout(new MigLayout());

        add(new JButton("1"), "dock east, width 120");
        add(new JButton("2"), "west");
        add(new JButton("3"), "center");
        add(new JButton("4"), "north");
        add(new JButton("5"), "south");

    }

}

public App201210042244() {
     SwingUtilities.invokeLater(new Runnable() {

            public void run() {
                JFrame jFrame = new JFrame();
                jFrame.pack();
                jFrame.setVisible(true);

            }
        });
}


public static void main( String[] args )
{
   new App201210042244();
}
}

Размер внутренних окон остается постоянным:

1 ответ

Решение
panel.add(new JButton("1"), "dock east, width 120");
panel.add(new JButton("2"), "west");
panel.add(new JButton("3"), "center");
panel.add(new JButton("4"), "north");
panel.add(new JButton("5"), "south");

Ключевое слово dock может быть опущено.

ОБНОВИТЬ:

Если вы хотите, чтобы все ваши компоненты расширялись при изменении размера окна:

panel.setLayout(new MigLayout("fill"));
panel.add(new JButton("1"), "dock east, width 120");
panel.add(new JButton("2"), "west");
panel.add(new JButton("3"), "center, grow");
panel.add(new JButton("4"), "north");
panel.add(new JButton("5"), "south");
Другие вопросы по тегам