У меня есть интересная проблема при попытке получить разрешение (не количество пикселей, а текущее разрешение) пользовательского монитора на устройстве Windows. Screen.getPrimary().getBounds()
возвращает правильный результат по ALMOST всем системам. У него проблемы с ноутбуками Win 10. Их разрешение распознается как 1280x768, даже если они 4K и FullHD устройства.JavaFX Screen.getPrimary(). GetBounds() возвращает неправильный размер экрана
Я также попытался следующие подходы:
Toolkit.getDefaultToolkit().getScreenSize()
Screen.getScreens()
, а затем перебрать все экраны (только один найден)GraphicsDevice getDisplayMode().getWidth();
GraphicsEnvironment getScreenDevices()
, а затем перебрать все экраны (только один найдено)
У меня больше нет идей. Есть ли другой способ, как правильно получить разрешение экрана на всех устройствах Windows?
Да, вы правы. Я забыл упомянуть, что FullHD-ноутбук сообщает правильное разрешение, когда мы устанавливаем его на меньшее значение (например, 1600x900). Он «лежит» только на определенных разрешениях! И да, я был бы в порядке, если бы он сообщал о масштабированном разрешении правильно, но даже эти значения не являются правильными каждый раз ... – shaiko
Нет, я не говорю об изменении разрешения. Я говорю о настройках размера текста по умолчанию. Я не знаю, как это называется в Windows. – mipa
А, я тебя не понимаю. Ты прав! Это может быть проблемой. Я проверю его прямо сейчас! – shaiko