MigLayout Shrink Behavior

С JPanel, определенным ниже (встроенным в JTabPanel в JSplitPane):

Если я разверну, панель будет перерисована правильно для новых размеров. Если я сверну панель, НЕ перерисовывается к предыдущим измерениям. Если я перетаскиваю угол, чтобы увеличить размер, панель перерисовывается до правильных размеров. Если я перетаскиваю угол, чтобы уменьшить размер. панель НЕ перерисовывается до ожидаемых размеров

container.setLayout(new MigLayout("debug,fillx,wrap 5",
    "[75:75:75][fill][75:75:75][fill][140:140:140,align left]"));
container.add(labelSrcTitle, "span 4");
container.add(buttonAddRef, "");
container.add(srcTitle, "span");
container.add(srcListing, "span,grow");
container.add(sepRef,"span,growx");
container.add(refTitle,"span");
container.add(refListing,"span 4,grow");
container.add(buttonEdit,"split 2");
container.add(buttonDelete,"");
container.add(name,"span 4,growx");
container.add(buttonSEdit,"split 3");
container.add(buttonSDelete);
container.add(buttonSAdd,"");
container.add(lType,"");
container.add(lClaim,"grow");
container.add(lQual,"");
container.add(lNotes,"grow");
container.add(buttonCEdit, "split 3");
container.add(buttonCDelete);
container.add(buttonCAdd, "");

Я хотел бы (и ожидаю), что, если я максимизирую, то минимизирую, экран будет перерисован до его первоначальной конфигурации. что мне не хватает? Если это имеет значение, все поля JTextArea имеют перенос строки true.

Отредактировано:

Вот гораздо более простой пример - похоже, проблема в JTextArea с включенной линейной переносом. Следующий код в JFrame воссоздает проблему:

    JPanel root = new JPanel(new MigLayout("fill,debug"));
    JTextArea t = new JTextArea();

    t.setLineWrap(true);

    root.add(t,"growx");
    setContentPane(root);
    setLocationRelativeTo(null);
    setSize(200, 200);

1 ответ

Решение

Задача решена. Определив проблему с JTextArea и Line Wrap, я определил, что это является признаком MigLayout и JTextArea Line wrap, задокументированным в нескольких местах; и разрешил его, изменив root.add(t,"growx") на root.add(t,"growx,wmin 10")

Другие вопросы по тегам