<Swing Dev> [9] Review request for JDK-8147521 [macosx] Internal API Usage: setPopupType used to force creation of heavyweight popup

Alexandr Scherbatiy alexandr.scherbatiy at oracle.com
Tue May 10 06:31:33 UTC 2016


The first approach implies that a user should change all 
PopupFactory.getPopup(owner, contents, x, y) calls to 
OverridenPopupFactory.getPopup(owner, contents, x, y, true) to get a 
heavy-weight popup in his code.

The second one looks better to me. It may have sense to restrict it only 
to 2 possibilities: heavy-weight and light-weight popup if the 
medium-weight popup is not really required to be used by users applications.
Something like: 
setHeavyWeightPopupEnabled(boolean)/isHeavyWeightPopupEnabled().

Thanks,
Alexandr.

On 5/6/2016 2:44 PM, Rajeev Chamyal wrote:
>
> Hello All,
>
> Please review the below 2 webrevs.
>
> Webrev:
>
> http://cr.openjdk.java.net/~rchamyal/8147521/webrev.app.00/ 
> <http://cr.openjdk.java.net/%7Erchamyal/8147521/webrev.app.00/>
>
> http://cr.openjdk.java.net/~rchamyal/8147521/webrev.app.01/ 
> <http://cr.openjdk.java.net/%7Erchamyal/8147521/webrev.app.01/>
>
> Bug : https://bugs.openjdk.java.net/browse/JDK-8147521
>
> Approach 1:
>
> http://cr.openjdk.java.net/~rchamyal/8147521/webrev.app.00/ 
> <http://cr.openjdk.java.net/%7Erchamyal/8147521/webrev.app.00/>
>
> A new protected API is provided in PopupFactory.java.
>
> protected Popup getPopup(Component owner, Component contents, int x, 
> int y,
>
> boolean isHeavyWeightPopup)
>
> Applications can override the new protected method and pass true value 
> to isHeavyWeightPopup for forcing popup to be heavy weight.
>
> Passing false will result in default behaviour.
>
> Approach 2:
>
> http://cr.openjdk.java.net/~rchamyal/8147521/webrev.app.01/ 
> <http://cr.openjdk.java.net/%7Erchamyal/8147521/webrev.app.01/>
>
> In this approach access level of existingmethodssetPopupType 
> andgetPopupType has been changed to protected.
>
> Applications can override these methods to set or return different 
> types of popups.
>
> Following  values can be passed to setPopupType.
>
> 0 : LIGHT_WEIGHT_POPUP
>
> 1 : MEDIUM_WEIGHT_POPUP
>
> 2: HEAVY_WEIGHT_POPUP
>
> Regards,
>
> Rajeev Chamyal
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20160510/eeb7dbe5/attachment.html>


More information about the swing-dev mailing list