Hi Randahl,

see this wiki page...
https://wiki.openjdk.java.net/display/OpenJFX/UI+Controls+Architecture

and below:

On 10.06.2014 19:18, Randahl Fink Isaksen wrote:
Object ◀︎—— SkinBase ◀︎—— MySkin ——>  MySkinControl

The new SkinBase is returning a modifiable version of the control's children. The FX2 way was actually more convoluted with behind-the-scenes copying of properties but I think that is covered on the wiki.

One problem is, whenever I have a control MyControl using a skin
class MySkin I used to be able to change the style class of MyControl
and those changes would automatically be reflected by MySkin. Now
with FX8 when I change the style class of MyControl, nothing
happens.

This works for me. Maybe your css selectors need to be adjusted. After all the node hierarchy no longer has an extra skin node.

Am I supposed to bind the styleClass property of my MySkinControl
instance to the styleClass of my MyControl instance?

Certainly not.

In my opinion the control creation process is quite simple now. Create a new control class, set the style class, and provide the default skin by overriding createDefaultSkin(). Here you return an instance of your skin which extends SkinBase. Which is where you observe the control properties as usual. And use SkinBase.getChildren to add skin content.

Werner

Reply via email to