On Wed, 24 Mar 2021 06:17:04 GMT, Tejpal Rebari <treb...@openjdk.org> wrote:
> Hi All, > Please review the following fix for jdk17. > > Issue : LookAndFeel.installProperty(list, "opaque", false) is not able to set > the opaque property for JList and JTable. > LookAndFeel.installProperty calls the setUIProperty, and setUIProperty checks > for OPAQUE_SET to change the opaque property as requested by the client. > OPAQUE_SET is always set to true when there is call to setOpaque(boolean).So > when the constructor calls setOpaque(true) OPAQUE_SET is set to true and wont > allow the setUIProperty to change the opaque property. > installProperty should work as the opaque property is not set by the client. > > Fix. Fix is to remove the call to the setOpaque() from the constructor of > JList and JTable. This will allow the client to change the opaque property > calling LookAndFeel.installProperty() when the property is already not set. > > Test : Added a test to check the same. Also tested internal tests which all > are passing. > Link is in JBS. This pull request has now been integrated. Changeset: 39719da9 Author: Tejpal Rebari <treb...@openjdk.org> URL: https://git.openjdk.java.net/jdk/commit/39719da9 Stats: 161 lines in 7 files changed: 156 ins; 5 del; 0 mod 8253266: JList and JTable constructors should clear OPAQUE_SET before calling updateUI Reviewed-by: psadhukhan, serb ------------- PR: https://git.openjdk.java.net/jdk/pull/3167