<Swing Dev> RFR JDK-8250811: Address reliance on default constructors in the javax.swing.plaf.multi APIs
Prasanta Sadhukhan
prasanta.sadhukhan at oracle.com
Tue Aug 4 06:44:47 UTC 2020
On 04-Aug-20 12:01 PM, Sergey Bylokhov wrote:
> Hi, Prasanta.
>
> I think a good place for a constructor is after the declaration of
> the fields and before the methods.
>
> BTW I am not sure about the "one line" "{}" type of brackets, do we
> use it somewhere?
> For example in some classes like a java.awt.Canvas uses brackets on
> different lines.
>
Let me know if I need to use like that. I used as was used for other fix
for these kind of issues as in
https://hg.openjdk.java.net/jdk/jdk/rev/f7c85b7e231b
https://hg.openjdk.java.net/jdk/jdk/rev/2a617462275c
etc
Regards
Prasanta
> On 31.07.2020 07:20, 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 no-arg default constructor for
>> javax.swing.plaf.multi module (as one part of overalll java.desktop
>> change)
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8250811
>>
>> webrev: http://cr.openjdk.java.net/~psadhukhan/8250811/webrev.0/
>>
>> CSR: https://bugs.openjdk.java.net/browse/JDK-8250812
>>
>> Regards
>> Prasanta
>>
>
>
More information about the swing-dev
mailing list