:: JGOODIES Looks :: Professional Swing Look&Feels

:: Font Settings and Font Size Hints ::

Using System Fonts

You can force the JGoodies looks and the 1.4 versions of the Sun looks to use system fonts using a String key, or JGoodies constant:
   UIManager.put("Application.useSystemFontSettings", Boolean.TRUE);
   UIManager.put(Options.USE_SYSTEM_FONTS_APP_KEY,    Boolean.TRUE);

You can override this application property by setting the system property "swing.useSystemFontSettings" to "false". The system property can be set when launching the VM and so, enables you to tweak this setting even for a finished app.

If the system fonts do not support the current encoding, the Windows look will fall back to the non-system fonts as defined by the Java runtime.

Setting Font Size Hints

In Microsoft environments that use Tahoma as dialog font, you can tweak the choosen font sizes by setting optional JGoodies font size hints. The global hints can be overriden by look-specific hints:
   Options.setGlobalFontSizeHints(FontSizeHints.MIXED);
   PlasticLookAndFeel.setFontSizeHints(FontSizeHints.SYSTEM);

The System hint is the default. It doesn't modify the sizes in 1.4. All JGoodies applications use the Mixed style. The following table describes the effect of different font size hints in an environment with a 11pt system font on 96dpi and a 14pt system font on 120 dpi:
HintMenu 96dpiControl 96dpiMenu 120dpiControl 120dpi
System11 pt 11 pt 14 pt 14 pt
Large12 pt 12 pt 14 pt 14 pt
Mixed11 pt 11 pt 14 pt 12 pt
Fixed12 pt 12 pt 12 pt 12 pt
Small11 pt 11 pt 12 pt 12 pt

Find more information in classes com.jgoodies.looks.FontSizeHints and com.jgoodies.looks.FontUtils.

Background Information

Microsoft uses different font sizes in primary and secondary windows. The mixed style aims to mimic this behavior if the dialog font is Tahoma.
(c) 2004 JGoodies