Я использую Vista, мое старое приложение Java, запущенное на Win XP, имеет тонкие границы, толщиной около 2 пикселей, но теперь на Vista граничит с толстыми линиями, возможно, 6,7 пикселей, могу ли я указать в Java, насколько толстые границы JFrame должны быть?Как настроить толщину границы JFrame в Java
ответ
По умолчанию границы обрабатываются встроенной системой окон. Но в API JFrame существует метод setDefaultLookAndFeelDecorated(boolean)
. В нем говорится, что если установлено значение true и, если текущий внешний вид его поддерживает, он будет использовать внешний вид, чтобы рисовать границы, название и кнопки. Я никогда не пробовал этого, так как я не знаю, какой вид и выглядит поддержка. Прежде всего, нужно найти тот, который делает, а затем установить это через аргумент UIManager
или командной строки -Ddefault.laf
и включить оформление внешнего вида с помощью метода JFrame.
Если вы используете этот вариант, вы, вероятно, получите нестандартное оформление окна. Учитывая маленькие кусочки глазной конфеты Vista (светится при наведении на кнопки и полупрозрачная строка заголовка), вы уверены, что хотите это сделать?
Другой вариант - использовать метод JFrame.setUndecorated(boolean)
и обрабатывать рендеринг границ, заголовка и т. Д. Самостоятельно, но это, вероятно, еще сложнее.
@Frank. Я удалил ответ, который я дал ранее, потому что, как вы указали, это не помогает. Я продолжу поиск других решений. –