Java: изменение шрифтов пользовательского интерфейса (Nimbus) не работает!JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java: изменение шрифтов пользовательского интерфейса (Nimbus) не работает!

Сообщение Anonymous »

Я имею в виду эту отсылку к Nimbus.

Я попытался установить глобальный шрифт немного крупнее:

Код: Выделить всё

UIManager.put("defaultFont", new Font(Font.SANS_SERIF, 0, 16));
...работает только для меню и ничего (кнопок, меток).

Я пытался изменить шрифты надписей и кнопок с помощью

Код: Выделить всё

UIManager.put("Button.font", new Font(Font.SANS_SERIF, 0, 16));
UIManager.put("Label.font", new Font(Font.SANS_SERIF, 0, 16));
но шрифт остается.

Единственное, что мне помогло, это получение шрифта:

Код: Выделить всё

someButton.setFont(someButton.getFont().deriveFont(16f));
Но это не вариант, так как это нужно делать для каждого
элемента вручную.

Обратите внимание, что получение шрифта для UIManager также не работает:

Код: Выделить всё

UIManager.put("Label.font",
UIManager.getFont("Label.font").deriveFont(16f));
Я тестировал все под Linux и Windows: поведение одинаковое.

Я просто не могу понять как API может быть таким беспорядочным. Если метод вызывается
setFont(..), то я ожидаю, что он установит шрифт. Если этот метод не может
установить шрифт ни при каких мыслимых обстоятельствах, его следует объявить устаревшим.

РЕДАКТИРОВАТЬ:

Проблема касается не только Nimbus, но и стандартного LAF.

Подробнее здесь: https://stackoverflow.com/questions/949 ... oesnt-work
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»