JDK-4587653 : AWT needs to provide API or properties to support Windows XP Themes
  • Type: Enhancement
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 1.4.0,1.4.1
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2001-12-10
  • Updated: 2005-12-05
  • Resolved: 2005-12-05
Related Reports
Relates :  
Relates :  
Relates :  
Description
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
is supported).

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.

REPRODUCIBILITY :
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)
======================================================================

Comments
EVALUATION According to the description section AWT must provide API to Windows system parameters to support XP look&feel in Swing. By now Swing has an XP look&feel. So this RFE was closed as 'will not fixed'.
05-12-2005

EVALUATION We should do this for Hopper so Swing can have an XP LF. ###@###.### 2001-12-10 Not sure how much of this is still important after the Swing Mantis work. ###@###.### 2002-09-10 As of 1.4.2, Swing has an XP look&feel. ###@###.### 2003-08-13
10-09-2002