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

Имеет ли текст в компонентах Swing шрифт по умолчанию? В частности, как насчет меток табуляции на JTabbedPane s?

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

Ответ 1

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

Ответ 2

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

Ответ 3

Основываясь на ответе Преподобного Гонзо, этот фрагмент кода позволяет вам узнать, какие ключи находятся в 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));
     }
}

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

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

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

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

Ответ 4

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

DejaVu Sans - Обычный

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

Ответ 5

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

Ответ 6

Стандартным шрифтом Java GUI является "Helvetica", жирный размер 9, цвет серый.