В Windows 10 и более поздних версиях существует проблема с невидимыми границами вокруг окон. Я рассматриваю возможность внесения корректировок на основе этого условия, как только развернул диалоговое окно.
Я мог бы протестировать его следующим образом:
Код: Выделить всё
// imagine it sits in some OsUtil
public static boolean isWindowsTenOrGreater() {
return isWindows() && isMajorEqualToOrGreaterThan(10);
}
private static boolean isWindows() {
return System.getProperty("os.name").toLowerCase().startsWith("win");
}
private static boolean isMajorEqualToOrGreaterThan(int majorVersion) {
String majorVersion = System.getProperty("os.version").split("\\.")[0];
boolean isMajorVersionNumeric = Pattern.matches("\\d+", majorVersion);
return isMajorVersionNumeric && Integer.parseInt(majorVersion) >= 10
}
Возвраты:
строковое значение системного свойства или null, если нет свойства с этим ключом.
Существует ли какой-то универсальный стандарт, которого должны придерживаться все операционные системы, который гарантирует такие свойства всегда присутствуют (по крайней мере, если они запускают байт-код)? В более широком смысле, какие свойства системы гарантированно существуют на той или иной платформе?
Некоторые из наших пользователей используют контрафактные дистрибутивы Linux, имейте в виду
Имейте в виду, что этот вопрос шире, чем «как мне заставить эту штуку работать» (я полагаю, с помощью простых проверок на ноль). Это именно то, что подогрело мое любопытство по этому поводу
Подробнее здесь: https://stackoverflow.com/questions/790 ... -on-if-any
Мобильная версия