Win XP has a new API set to get and set Themes (UI visual styles). In order for Swing to access this functionality, AWT must provide methods or properties to support this new functionality.
Name: gm110360 Date: 07/11/2002
FULL PRODUCT VERSION :
java version "1.4.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)
Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode)
FULL OPERATING SYSTEM VERSION :
Microsoft Windows XP [Version 5.1.2600]
A DESCRIPTION OF THE PROBLEM :
The use of light-weight themes in Swing makes the
application look like a second-class citizen, even though
the theme would probably look fine if the entire desktop
was skinned that way.
Please make a WindowsXPLookAndFeel that uses the
OpenThemeData() native API function for the corresponding
native widget and then draws the widget onto a memory
device context using the DrawThemeXxx APIs. The memory
context is then copied onto the Java Graphics.
I believe there is similar functionality available in the
GtkStyleClass interface to also implement a GtkLookAndFeel
for GNOME desktops, which is used in Solaris and some
GNU/Linux distributions (notably RedHat, for which the JRE
I would guess an approach like this is how Apple has
managed to make Java apps look integrated on their platform.
Related RFEs: 4616188, 4319803
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Fire up SwingSet on a Windows XP machine with the Luna
theme installed. It will look alien.
EXPECTED VERSUS ACTUAL BEHAVIOR :
A user would expect it to look like any other application
on his/her desktop.
This bug can be reproduced always.
CUSTOMER WORKAROUND :
Implement your own look and feel that is backed by a native
library. Not the thing you are most likely to get approval
from your boss to spend time on, though.
(Review ID: 159219)