Я новичок в MigLayout. Я пытаюсь создать макет, подобную этой:Возможно ли «перезагрузить» MigLayout
Там есть ряд равноотстоящих кнопок, а затем ряд со списком, который охватывает все столбцы и растет, чтобы заполнить имеющиеся вертикальные пробел, за которым следует заключительная строка с несколькими элементами управления.
Я могу получить первые два ряда без особых трудностей.
Однако, когда я добавляю содержимое последней строки, MigLayout (по праву) пытается сохранить столбцы первых двух строк. Я оставил что-то вроде этого:
Этикетка и кок в последней строке расширить ширину столбцов и я остался с неровными зазорами в верхнем ряду.
Есть ли способ сообщить MigLayout, что я хочу забыть о установленных/установленных рядах/столбцах и «начать новый», или это решение для создания вложенного макета?
Вот полный пример панели.
public class TestPanel extends JPanel {
JButton button1 = new JButton("Button 1");
JButton button2 = new JButton("Button 2");
JButton button3 = new JButton("Button 3");
JButton button4 = new JButton("Button 4");
JButton button5 = new JButton("Button 5");
JList list = new JList(new String[]{"some", "fake", "data"});
JLabel label = new JLabel("this is my long label");
JSpinner spinner = new JSpinner();
JCheckBox checkbox = new JCheckBox("Check me");
public TestPanel() {
initComponents();
}
private void initComponents() {
setLayout(new MigLayout());
add(button1);
add(button2);
add(button3);
add(button4);
add(button5, "wrap");
add(list, "span, growx, growy, wrap");
// without these 3 lines, the row of buttons are equally spaced
// adding the long label extends the width of the first column
add(label);
add(spinner);
add(checkbox, "span, align right");
}
}
хорошо вы нашли решение - но я не могу воспроизвести неправильное поведение, вы можете описать (по крайней мере с фрагментом) – kleopatra
я добавил полный пример и снимок экрана. Я не считаю это неправильным поведением - просто я не использую его должным образом. – zmb
означало неправильное, как отличное от вашего ожидания :-) спасибо за полный пример, не пробовал длинную метку – kleopatra