<Swing Dev> RFR JDK-8250851: Address reliance on default constructors in the javax.swing.plaf.synth APIs

Prasanta Sadhukhan prasanta.sadhukhan at oracle.com
Fri Aug 14 07:10:34 UTC 2020


Hi All,

Please review a fix for issue where it was seen that several classes 
rely on default constructors as part of their public API.

It's to be noted that "A no-arg public constructor is generated by the 
compiler for a class if it does not declare an explicit constructor. 
While convenient, this is inappropriate for many kinds of formal 
classes, both because the constructor will have no javadoc and because 
the constructor may be unintended."

For the JDK, classes intended to be used outside of the JDK, public 
classes in exported packages, should not rely on default constructors.

Proposed fix is to create protected constructors to the public abstract 
classes for javax.swing.plaf.synth module (as one part of overalll 
java.desktop change)

Bug: https://bugs.openjdk.java.net/browse/JDK-8250851

webrev: http://cr.openjdk.java.net/~psadhukhan/8250851/webrev.0/

CSR: https://bugs.openjdk.java.net/browse/JDK-8251569

Regards
Prasanta



More information about the swing-dev mailing list