All versions of MS windows support a desktop "font smoothing" setting.
This controls how Windows anti-aliases text. In addition XP allows a user
to choose the font smoothing algorithm, one value being the standard setting,
the other being appropriate for LCD display technology.
To properly emulate the L&F of the native desktop, Swing needs to read
and obey these settings, to the fullest extent that the JDK can support.
I believe AWT needs to provide this information via the desktop
properties and Swing read it and use it to set the TEXT_ANTIALIASING hint on
all Swing component graphics.
Note that theoretically this ought to be a per-monitor (screen) setting
as LCD text optimisation isn't necessarily wanted if only one monitor is
an LCD, but Windows doesn't appear to set it that way. Its global to the
desktop. This seems like something that may change in the future.
Also we see that the Linux Gnome 2.0 desktop preferences font chooser
allows you to similarly choose between A-A settings, and this should also
be made available for Swing to read for the GTK L&F. For some reason
the Solaris gnome 2.0 doesn't yet support this but that should not prevent
its implementation since its already there on the Linux version.