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