MigLayout Shrink Behavior - PullRequest
       12

MigLayout Shrink Behavior

4 голосов
/ 15 марта 2012

с 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 с включенным linewrap. Следующий код в 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 Ответ

3 голосов
/ 19 марта 2012

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

...