Упакуйте, но не уменьшайте его

У меня есть 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();

Но мне это решение совсем не нравится. Помимо уродливого кода, мы устанавливаем размер дважды (сначала по пачке, а затем напрямую). Есть ли другие решения?

6
задан Stan Kurilin 26 June 2011 в 17:50
поделиться