Изменение размера шрифта Java / swing не работает на разных платформах

1

У меня есть приложение swing с этим кодом, который пытается изменить размер шрифта компонента:

Font f = new Font(Font.SERIF,Font.PLAIN,16);
component.setFont(f);

Программа загружается с 14-точечным шрифтом, и я включаю компонент, который позволяет пользователю изменять размер компонента до 16-точечного шрифта, как указано выше. Когда я запускаю это на компьютере, я скомпилировал его (Debian), он работает по назначению, но я тестировал его на компьютере Mac и Windows, а функция изменения размера шрифта не работает вообще. Однако на всех платформах шрифт засекречен. Есть идеи, почему это происходит?

  • 1
    Вопрос уже задан: может быть, это поможет вам.
  • 0
    На самом деле, нет; человек там просил одинаковый шрифт на всех платформах. Какой бы шрифт с засечками на платформе мне не помешал, но я просто хочу, чтобы размер шрифта изменился (т.е. приложение загружается шрифтом в 14 пунктов. Когда я устанавливаю размер шрифта на 16 в debian, используя компонент, который позволяет пользователю выбирать шрифт, размер шрифта меняется, но когда я устанавливаю его на 16 на окнах, ничего не происходит)
Теги:
fonts
swing
jcomponent

1 ответ

1
Лучший ответ

Компонент пользовательского интерфейса по умолчанию на вашей платформе может упредить ваши настройки. В качестве альтернативы рассмотрим одно из следующих:

  • Используйте deriveFont() для существующего шрифта, как показано здесь.

    component.getFont().deriveFont(16f)
    
  • Используйте доступный параметр sizeVariant, показанный здесь.

Изображение 174551

  • Используйте пользовательский делегат пользовательского интерфейса, проиллюстрированный здесь и здесь.

Изображение 174551

  • 0
    Спасибо! Первый пример работал отлично

Ещё вопросы

Сообщество Overcoder
Наверх
Меню