Как изменить размер окна в соответствии с размером экрана в Java? - PullRequest
0 голосов
/ 16 июня 2019

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

Вот мой код.

public static final int WIDTH = 640;  // width of window
public static final int HEIGHT = 1136; // height of window

public static void main(String[] args) {
    JFrame frame = new JFrame();
    World world = new World();
    frame.add(world);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(WIDTH, HEIGHT);
    frame.setLocationRelativeTo(null); 
    frame.setVisible(true); // 1) set window visible 2) paint() asap
    world.action(); // start the program
}

Вот как это выглядит на моем экране:
enter image description here

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

И есть ли способ автоматически увеличивать или уменьшать размер окна в соответствии с размером экрана, сохраняя все в масштабе?

Спасибо!

1 Ответ

0 голосов
/ 17 июня 2019

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

Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
frame.setSize(dim.width / 2, dim.height / 2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...