Prior to Java 9, JavaFX controls as well as CSS functionality were only available to developers by interfacing with internal APIs. Java 9's modularization has made the internal APIs inaccessible. Therefore, JEP 253 was created to define public, instead of internal, APIs.
This was a larger undertaking than it might seem. Here are a few actions that were taken as part of this JEP:
- Moving javaFX control skins from the internal to public API (javafx.scene.skin)
- Ensuring API consistencies
- Generation of a thorough javadoc
The following classes were moved from internal packages to a public javafx.scene.control.skin package:
AccordionSkin | ButtonBarSkin | ButtonSkin | CellSkinBase |
CheckBoxSkin | ChoiceBoxSkin | ColorPickerSkin ... |