У меня есть JFrame
с GridBagLayout
. Пользователь может изменить размер этого окна. Кроме того, он может выполнять некоторые действия по редактированию, изменяющие размер окна. Я использую pack (); repaint ();
теперь после таких действий. Но, собственно, не надо уменьшать окно после таких операций - только больше. В качестве решения я нашел
Dimension oldSize = getSize();
pack();
Dimension newSize = window.getSize();
setSize(
(int) Math.max(newSize.getWidth(), oldSize.getWidth()),
(int) Math.max(newSize.getHeight(), oldSize.getHeight()));
repaint();
Но мне это решение совсем не нравится. Помимо уродливого кода, мы устанавливаем размер дважды (сначала по пачке, а затем напрямую). Есть ли другие решения?