Как я могу определить, на каком экране находится JFrame? Мне нужно найти экран и изменить размер кадра, чтобы убедиться, что он не больше соответствующего экрана.
Найдите, какое окно на экране открыто
Ответы (2)
Для упомянутой цели вы можете позвонить frame.getGraphicsConfiguration().getBounds()
. Если вы действительно хотите запросить другие сведения о самом устройстве отображения, используйте frame.getGraphicsConfiguration().getDevice()
(а также другие методы в GraphicsConfiguration
), которые могут дать вам кое-что интересное.
person
Neil Coffey
schedule
25.06.2011
Вы должны использовать Toolkit
Toolkit tk = Toolkit.getDefaultToolkit();
int xSize = ((int) tk.getScreenSize().getWidth());
int ySize = ((int) tk.getScreenSize().getHeight());
и после этого просто
frame.setSize(xSize,ySize);
Если вы хотите максимизировать фрейм, просто вызовите следующий метод
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
person
Sergii Zagriichuk
schedule
24.06.2011
Но что, если есть 5 экранов с разным разрешением? Какой размер экрана мне взять?
- person Nate Glenn; 25.06.2011
если вы используете
frame.setExtendedState(JFrame.MAXIMIZED_BOTH)
, разве он не станет таким же большим, как любой экран, на котором он находится? Вам не нужно беспокоиться о том, что он больше любого экрана, на котором он появляется. Если только я не ошибаюсь ... что вполне возможно.
- person Aelfhere; 25.06.2011
Если у вас есть 5 экранов, этот код должен выполняться для каждого экрана, лучше всего выполнить этот код во время инициализации кадра.
- person Sergii Zagriichuk; 25.06.2011