Як визначити дозвіл дисплея, java swing і інша джава

Іноді з додатком буває необхідно дізнатися, який дозвіл дисплея зараз встановлено. Для чого це може знадобитися? Раніше, коли я не знав про метод setLocationRelativeTo, то використовував нижче представлений метод для позиціонування вікна програми. Я створював спеціальний метод, який отримував розміри екрану, потім розміри вікна програми, а потім розраховував координати верхнього лівого кута вікна. Код прикладу з методом наведено нижче.

import java.awt.Dimension;
import java.awt.Toolkit;

public class TestFrame

public static void createGUI () JFrame.setDefaultLookAndFeelDecorated (true);
final JFrame frame = new JFrame ( «Test frame»);

frame.setPreferredSize (new Dimension (300, 200));
setCenterPosition (frame);

private static void setCenterPosition (JFrame frame) Dimension screenSize = Toolkit.getDefaultToolkit (). getScreenSize ();
Dimension frameSize = frame.getPreferredSize ();

if (frameSize.height> screenSize.height) frameSize.height = screenSize.height;
>

if (frameSize.width> screenSize.width) frameSize.width = screenSize.width;
>

frame.setLocation ((screenSize.width - frameSize.width) / 2,
(ScreenSize.height - frameSize.height) / 2);
>

public static void main (String [] args) javax.swing.SwingUtilities.invokeLater (new Runnable () public void run () createGUI ();
>
>);
>
>

З коду видно, що для отримання розмірів дисплея в пікселях необхідно у класу Toolkit викликати статичний метод getDefaultToolkit, а потім метод getScreenSize, який поверне вже безпосередньо розміри дисплея. Розміри повернуться у вигляді примірника Dimension. Цей клас дуже часто використовується для зберігання розмірів.