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")