Изменение размера кадра J в соотношении сторон - PullRequest
0 голосов
/ 27 марта 2011

Я сделал игру, используя jFrame с компонентами. Есть ли способ, которым я могу сделать JFrame больше, но используя квадратный аспект, чтобы длина всегда была равна ширине при перетаскивании?

Любая помощь приветствуется.

Приветствия

Ответы [ 2 ]

3 голосов
/ 27 марта 2011

Вы можете реализовать ComponentListener и получить что-то вроде этого

@Override
public void componentResized(ComponentEvent arg0) {
    Rectangle b = arg0.getComponent().getBounds();
    arg0.getComponent().setBounds(b.x, b.y, b.width, b.width);

}

и использовать его для своего JFrame.Единственное, с JFrame это не вызывает это событие, пока мышь не будет отпущена.Если вы хотите видеть изменения при перетаскивании мыши, вам придется использовать JPanel и использовать для него этот ComponentListener, а не JFrame и заполнить фрейм панелью.

0 голосов
/ 27 марта 2011

Вы можете попробовать что-то вроде этого:

public void componentResized(ComponentEvent e) {
                System.out.println("i have changed size applying aspect ratio now.");

                setSize(getWidth(), getWidth());
                repaint();
            }

Это немного не интуитивно понятно, так как он изменяет размер после изменения размера компонента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...