JDK-8089138 : Remove use of internal classes methods from SceneBuilder
  • Type: Bug
  • Component: javafx
  • Sub-Component: samples
  • Affected Version: 9
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2015-04-09
  • Updated: 2015-10-07
  • Resolved: 2015-10-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9Resolved
Related Reports
Blocks :  
Duplicate :  
Duplicate :  
Relates :  
Description
As noted in RT-40184 we need to eliminate the use of internal classes from com.sun.* packages from the SceneBuilder application.

This is required for JDK 9 due to modularity as non-exported packages will no longer be accessible.

Comments
This was fixed when the JEP 253 changes were integrated.
07-10-2015

Here is a list I quickly generated a few weeks ago: Scene Builder com.sun.* dependencies SceneBuilderApp: 1) DocumentWindowController: com.sun.javafx.scene.control.behavior.KeyBinding com.sun.javafx.scene.control.behavior.TextInputControlBindings 2) AppPlatform: com.sun.glass.ui.Application com.sun.glass.ui.Application.EventHandler 3) AboutWindowController: com.sun.javafx.tk.Toolkit com.sun.prism.GraphicsPipeline SceneBuilderKit: 1) TableViewDesignInfoX: com.sun.javafx.scene.control.skin.TableColumnHeader 2) TabPaneDesignInfoX: com.sun.javafx.scene.control.skin.TabPaneSkin 3) TreeTableViewDesignInfoX: com.sun.javafx.scene.control.skin.TableColumnHeader 4) CssContentMaker com.sun.javafx.css.ParsedValueImpl; com.sun.javafx.css.Rule; com.sun.javafx.css.Style; 5) CssPanelController com.sun.javafx.css.ParsedValueImpl; com.sun.javafx.css.Rule; 6) CssValueConverter com.sun.javafx.css.Declaration; com.sun.javafx.css.Rule; com.sun.javafx.css.Size; com.sun.javafx.css.converters.PaintConverter com.sun.javafx.css.converters.PaintConverter.LinearGradientConverter com.sun.javafx.css.parser.DeriveColorConverter com.sun.javafx.css.parser.DeriveSizeConverter com.sun.javafx.css.parser.LadderConverter 7) NodeCssState com.sun.javafx.css.Rule; com.sun.javafx.css.Style; 8) HierarchyTreeCell com.sun.javafx.css.CssError 9) StyleEditor com.sun.javafx.css.CssError com.sun.javafx.css.StyleManager com.sun.javafx.css.parser.CSSParser 10) CSSParsingReport com.sun.javafx.css.CssError com.sun.javafx.css.StyleManager com.sun.javafx.css.parser.CSSParser 11) FXOMImageBuilder com.sun.javafx.fxml.builder.JavaFXImageBuilder 12) FXOMLoader com.sun.javafx.fxml.LoadListener 13) CssInternal com.sun.javafx.css.CompoundSelector; com.sun.javafx.css.Rule; com.sun.javafx.css.Selector; com.sun.javafx.css.SimpleSelector; com.sun.javafx.css.Style; com.sun.javafx.css.Stylesheet; com.sun.javafx.css.parser.CSSParser; 14) Deprecation com.sun.javafx.fxml.LoadListener com.sun.javafx.css.Style
13-04-2015

Good to know. Thanks.
09-04-2015

Not all indeed. In some cases, it's difficult to encapsulate the dependency in a static method. But I would say 90% are here.
09-04-2015

Thanks, Eric. I saw that many cases were in that file, but not all (e.g., the controls skins and internal CSS classes).
09-04-2015

Private api calls have been grouped in the Deprecation class: http://hg.openjdk.java.net/openjfx/8u-dev/rt/file/eb4b9b633eec/apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/util/Deprecation.java For each private api call, we created a JIRA.
09-04-2015