Basically, any collaborator in the scenegraph could implement skinnable, not only controls. Actually, there is at least one (PopupControl) that isn't.
So all methods in the interface Skinnable should specify _Skinnable_ (vs _Control_ as they do now)
for instance:
/**
* Sets the skin that will render this {@link Control}
* @param value the skin value for this control
*/
public void setSkin(Skin<?> value);
should be changed to (modulo doc conventions, not entirely certain about lower/upper casing nor self-references?)
/**
* Sets the skin that will render this skinnable.
* @param value the skin value for this skinnable
*/
public void setSkin(Skin<?> value);
Apart from that, the description of Skinnable needs some love - it's an implementation note, not very expressive and stating the obvious:
The Skinnable interface is implemented by the Control class, and therefore is implemented by all Control implementations.
Should be changed to describe _what_ it is for, maybe somehow the inverse of Skin:
A Skinnable delegates its visual representation to its {@link Skin}. ...
Without updating the description, the change might be small enough to go intoJDK-8252389 (but as discussed its PR: if we want to change the description as well, we'll need a separate issue anyway)
So all methods in the interface Skinnable should specify _Skinnable_ (vs _Control_ as they do now)
for instance:
/**
* Sets the skin that will render this {@link Control}
* @param value the skin value for this control
*/
public void setSkin(Skin<?> value);
should be changed to (modulo doc conventions, not entirely certain about lower/upper casing nor self-references?)
/**
* Sets the skin that will render this skinnable.
* @param value the skin value for this skinnable
*/
public void setSkin(Skin<?> value);
Apart from that, the description of Skinnable needs some love - it's an implementation note, not very expressive and stating the obvious:
The Skinnable interface is implemented by the Control class, and therefore is implemented by all Control implementations.
Should be changed to describe _what_ it is for, maybe somehow the inverse of Skin:
A Skinnable delegates its visual representation to its {@link Skin}. ...
Without updating the description, the change might be small enough to go into
- relates to
-
JDK-8252389 Fix mistakes in FX API docs
- Resolved
-
JDK-8290844 Add Skin.install() method
- Resolved