A DESCRIPTION OF THE REQUEST :
When setting the icon for a window there are a couple of limitations:
1) You can't set multiple sizes. So, the same icon is used in the task bar (16x16) and when the user Alt-Tabs (32x32). As a developer, you have to make a choice as to which one of these will be ugly.
2) You can't set transparent icons. Using PNG with an alpha channel results in very ugly icons.
In order for Java applications to truly co-exist on a platform, they have to look nice. The current implementation makes them appear unprofessional. As a result, we have to write native code to fix these problems.
EXPECTED VERSUS ACTUAL BEHAVIOR :
First, icons should support transparency.
Second, perhaps a new image format that can include multiple images of different sizes should be supported.
I am forced to create opaque icons. Then, I create a 16x16 for the task bar, but when the user presses Alt-Tab, a 32x32 icon is displayed, which is just scaled up from 16x16. If, instead, I use a 32x32 icon, the task bar icon looks terrible.
---------- BEGIN SOURCE ----------
JFrame frame = new JFrame().
frame.setIconImage(/* pass a transparent PNG */);
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Additional problems being fixed:
- Dialog don't always inherit icon from parent frame on XAWT
- Ownerless dialogs always displays an unmodifiable "coffee cup" icon
(see description of 6317332 for details)