Как максимизировать и предотвратить изменение размера на JFrame? - PullRequest
5 голосов
/ 16 января 2011

Я делаю игру, поэтому я хочу, чтобы JFrame запускался в максимальном размере, но я также не хочу, чтобы пользователи изменяли размер игры, так как это испортило бы графику.Мне интересно, как сделать оба одновременно?

Прямо сейчас я могу использовать JFrame.setExtendedState (JFrame.MAXIMIZED_BOTH) для максимизации, но как только я делаю JFrame.setResizeable (false), я могубольше не использую setExtendedState (), чтобы максимизировать его.

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

Ответы [ 2 ]

6 голосов
/ 16 января 2011

Это работает для меня:

frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setVisible(true);
frame.setResizable(false);
3 голосов
/ 14 июля 2011

Если вы используете JSR296, именно так он работает внутри класса приложения singleton:

    JFrame main = view.getFrame();
    main.setExtendedState(JFrame.MAXIMIZED_BOTH);
    main.pack();
    show(view);
    main.setResizable(false);

Без операции pack () окно не развернуто. Это было проверено с использованием Linux и Java 6.

...