<Swing Dev> RFR 8250852: Address reliance on default constructors in the javax.swing.plaf.basic APIs

Alexey Ivanov alexey.ivanov at oracle.com
Mon Aug 17 21:10:52 UTC 2020


Hi Prasanta, Sergey,

On 17/08/2020 21:19, Sergey Bylokhov wrote:
> Hi, Prasanta.
>
> There is a small typo, see dots: "Constructs for subclasses to call.."

Shall it be "Constructs a {@code BasicLookAndFeel} for subclasses to call."?
This way it is consistent with other added constructors and specifies 
the object.

> Other than that looks fine.
>
> On 15.08.2020 05:30, Prasanta Sadhukhan wrote:
>> 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.basic module (as one part of 
>> overalll java.desktop change)
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8250852
>>
>> webrev: http://cr.openjdk.java.net/~psadhukhan/8250852/webrev.0/
>>
>> CSR: https://bugs.openjdk.java.net/browse/JDK-8251855
>>
>> Regards
>> Prasanta
>>
>
>



More information about the swing-dev mailing list