On Fri, 21 Jun 2024 18:44:58 GMT, Alexey Ivanov <aiva...@openjdk.org> wrote:

>> src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSliderUI.java 
>> line 153:
>> 
>>> 151:     /**
>>> 152:      * Constructs a {@code BasicSliderUI}.
>>> 153:      * @deprecated This constructor will be removed in future release
>> 
>> Sounds reasonable enough. It's what happened, isn't it? It's the reason why 
>> we're deprecating it and planning to remove it.
>> 
>> Suggestion:
>> 
>>      * @deprecated This constructor was added by accident. Do not use it.
>>      *             This constructor will be removed in a future release.
>> 
>> 
>> There are comments that say this method shouldn't have been public.
>> 
>> On the other hand, there are quite a few methods and classes in the list of 
>> terminally terminated elements which don't say anything at all.
>
> Or:
> 
> 
>      * @deprecated This constructor will be removed in a future release.
>      *             Use {@link #BasicSliderUI(JSlider b)} instead.
> 
> This is in the gist of the deprecation message for 
> [`SecurityManager`](https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/SecurityManager.html).

FWIW, we did something similar to this in JavaFX when we deprecated for removal 
an accidentally added constructor (an implicit no-arg constructor in our case).

https://github.com/openjdk/jfx/commit/a5ecfb68


     * @deprecated This constructor was exposed erroneously and will be removed 
in the next version.
     * Use {@link #createSelector(String)} instead.


If you decide it's worth doing, you might also include a pointer to the other 
constructor, although since there only is one more, it is pretty obvious for 
this class.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/19819#discussion_r1649322438

Reply via email to