Jar-файл показывает другой размер экрана, чем IntelliJ - PullRequest
0 голосов
/ 15 января 2019

Следующий код ведет себя очень странно. В IntelliJ текст консоли -

3840 '

пока файл с скомпилированным jar с Gradle показывает

1920 '

У меня двойной монитор, оба Full HD

public void getScreenSize() {
    GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment();
    GraphicsDevice[] graphicsDevices = graphicsEnvironment.getScreenDevices();
    System.out.println(graphicsDevices[0].getDisplayMode().getWidth());
}

1 Ответ

0 голосов
/ 15 января 2019

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

public static Dimension getScreenSize() {
        Dimension returnValue = Toolkit.getDefaultToolkit().getScreenSize();
        double height = returnValue.getHeight();
        double width = returnValue.getWidth();
        int screenNumbers = (int) Math.ceil(width/height)/2;
        if (screenNumbers != 1){
            width /= screenNumbers;
        }
        returnValue = new Dimension((int)width, (int)height);
        return returnValue;
}
...