On Thu, 18 Mar 2021 10:52:34 GMT, Alexey Ivanov <aiva...@openjdk.org> wrote:

>> It feels wrong with this `@implNote`.
>> 
>> Subclasses *must still override* the default implementation. Should this 
>> statement be included in the regular spec text as it was before? 
>> Implementation note could say, “The default implementation doesn't do 
>> anything.”
>> 
>> Or alternatively, this change can be rejected at all, leaving the spec as it 
>> is now.
>
>> It feels wrong with this `@implNote`.
>> 
>> Subclasses _must still override_ the default implementation. Should this 
>> statement be included in the regular spec text as it was before? 
>> Implementation note could say, “The default implementation doesn't do 
>> anything.”
>> 
>> Or alternatively, this change can be rejected at all, leaving the spec as it 
>> is now.
> 
> To make it clearer, what I suggest is keeping the old text as it was and 
> adding `@implNote` below like this:
>     /**
>      * Resets the UI property to a value from the current look and feel.
>      * <code>JComponent</code> subclasses must override this method
>      * like this:
>      * <pre>
>      *   public void updateUI() {
>      *      setUI((SliderUI)UIManager.getUI(this);
>      *   }
>      *  </pre>
>      * 
>      * @implNote The default implementation of this method doesn't do 
> anything.
>      *
>      * @see #setUI
>      * @see UIManager#getLookAndFeel
>      * @see UIManager#getUI
>      */
> 
> This way, it's more *highlighted* that `JComponent` subclasses must override 
> `updateUI` as shown for the correct behaviour. Then the implementation note 
> will add the missing detail: The default implementation does nothing. So it's 
> not necessary to call the super method from the overridden one.
> 
> What do you, @prsadhuk and @mrserb, think?

OK. Seems fair enough for me.

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

PR: https://git.openjdk.java.net/jdk/pull/2955

Reply via email to