<Swing Dev> [8] Review request for 7156657 Version 7 doesn't support translucent popup menus against a translucent window

Anthony Petrov anthony.petrov at oracle.com
Wed Jun 6 13:18:10 UTC 2012

On 6/6/2012 5:05 PM, Pavel Porvatov wrote:
>> I don't understand why this change is necessary. The current code 
>> simply detects if a window is non-opaque and forces HW popups for such 
>> windows. This works automatically and is very useful.
> Yes, it's very useful but produces the regression that described in CR 
> 7156657.
>> With this fix, however, most developers who use translucent windows, 
>> will have to manually call setLightWeightPopupEnabled(false), which 
>> doesn't look developer-friendly. Also, it changes the current behavior 
>> causing a regression.
> Current behavior contains a regression from older release jdk6, so 
> reverting fix of CR 7027486 (JPopupMenu doesn't take window shape into 
> account) doesn't look like a regression.

Given that the current behavior exists since 7 GA, this will be a 
regression, too. So, all in all, we're discussing two regressions here.

>> Instead of changing our own demo code and affecting developers who 
>> might have already relied on the current behavior, why not simply 
>> suggest the submitters of 7156657 to force LW popups for their 
>> specific use case?
> Unfortunately there is no way to force LW popups, so there is no 
> workaround for the problem

I see. Did you consider introducing such possibility?

E.g. we could leave the behavior introduced with 7027486 as is, and only 
turn it off when a system property is specified. This would resolve the 
issue reported by the submitter, and at the same time would preserve the 
useful behavior we have since the 1.7.0 release.

best regards,

> Regards, Pavel
>> -- 
>> best regards,
>> Anthony
>> On 6/6/2012 3:08 PM, Pavel Porvatov wrote:
>>> Hello,
>>> Please review a fix for the following issue:
>>>   7156657 Version 7 doesn't support translucent popup menus against a 
>>> translucent window
>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7156657
>>> The webrev is here: http://cr.openjdk.java.net/~rupashka/7156657/ 
>>> <http://cr.openjdk.java.net/%7Erupashka/7156657/>
>>> The fix of CR 7027486 (JPopupMenu doesn't take window shape into 
>>> account, http://hg.openjdk.java.net/jdk8/awt/jdk/rev/9024198193ce) 
>>> doesn't take into account that some users use translucent windows 
>>> with translucent menus. After discussions the following decision was 
>>> made:
>>> 1. When JPopupMenu#setLightWeightPopupEnabled is set to false 
>>> HEAVY_WEIGHT popups is used (instead of MEDIUM_WEIGHT). This fix was 
>>> done in CR 6800513 (GTK-LaF renders menus incompletely, 
>>> http://hg.openjdk.java.net/jdk8/awt/jdk/rev/cd00d68e06ac and 
>>> http://hg.openjdk.java.net/jdk8/awt/jdk/rev/8800a98316b2) and that 
>>> allows to use non-translucent and non-clipped popups for translucent 
>>> or shaped windows
>>> 2. Fix of CR 7027486 should be reverted
>>> 3. The TransparentRuler should be corrected according new fix
>>> Regards,
>>> Pavel.

More information about the swing-dev mailing list