Как получить шрифт по умолчанию для меток Swing JTabbedPane?

У текста в компонентах Swing есть шрифт по умолчанию? В частности, что касается ярлыков вкладок на JTabbedPanes?

Я работаю над макетом графического интерфейса, созданного с помощью Swing, и хочу, чтобы он сочетался с изображением на экране, которое я взял из приложения Swing.

6 ответов

Решение

Это зависит от внешнего вида. Если это приложение, которое вы написали, получите значения от UIManager.getDefaults().getFont("TabbedPane.font")

UIManager Defaults показывает значения всех свойств для всех компонентов (включая "TabbedPane.font").

Основываясь на ответе Преподобного Гонзо, этот фрагмент кода позволяет узнать, какие ключи есть в UIDefaults. Поскольку ключи говорят сами за себя, вы знаете, какой ключ вы можете использовать. Я должен был знать ключ для шрифта JTextField, например, и мог найти его только таким образом.

Set<Object> keys = UIManager.getDefaults().keySet();
for (Object key : keys) {
     if (key instanceof String && ((String) key).contains("font")) {
          System.out.println(key + "=" + UIManager.getDefaults().get(key));
     }
}

Если вы ищете шрифт, в вашем случае просто приведите ключ к строке и проверьте, содержит ли он слово "шрифт". Таким образом, вы сузите набор ключей, к которым у вас есть потенциальный интерес.

У меня есть список

  • Menu.font =...
  • TextField.font =...
  • RadioButtonMenuItem.font =...
  • ToolTip.font =...
  • TitledBorder.font =...
  • ...
  • TabbedPane.font =...
  • ...

И, таким образом, вам нужно будет выбрать TabbedPane.font.

Это может зависеть от того, какой стиль вы используете, но для меня шрифт Swing по умолчанию -

DejaVu Sans - Обычный

Для большинства компонентов размер шрифта по умолчанию составляет около 12 или 13

Похоже, это Arial. Это то, что мне говорит Идентонт, и это выглядит правильно.

Шрифт Java GUI по умолчанию - Helvetica, жирный шрифт 9, цвет серый.

Другие вопросы по тегам