Пропорциональное изменение размера JFrame

Я пытаюсь изменить размер JFrame необычным способом: отношение ширины к высоте кадра должно быть постоянным. Я написал этот простой код; в данном случае соотношение равно 1/2:

public class Panel extends JFrame {
  public Panel() {
    addComponentListener(new ComponentAdapter() {
      @Override
      public void componentResized(ComponentEvent e) {
      System.out.println("Reseized");
      setSize(getSize().width, getSize().width * 2);
    }
  });
}

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

Может быть, метод componentResized в этом случае неприменим? Итак, что мне использовать? Заранее спасибо.

6
задан Lampapos 24 October 2011 в 13:41
поделиться