Re[2]: Why don't GridPane, HBox, BorderPane, VBox, StackPane have Skins?

Alex Sviridov ooo_saturn7 at mail.ru
Mon Apr 29 10:49:38 UTC 2019


Hi Kevin,

Let me explain the reasons of this question. We implement JavaFX (simplified) in TypeScript 
( https://github.com/PavelKastornyy/script4j ) for web. For every JavaFX Node we have
html element. For example, for Pane we have <div></div>. 

So the question, where should we put all the logic about html elements of the Node? 
We thought that Skin is the best candidate, however, we found that not all nodes have Skins,
for example GridPane doesn't. What would you advise?


>Пятница, 26 апреля 2019, 17:46 +03:00 от Kevin Rushforth <kevin.rushforth at oracle.com>:
>
>Those are layout containers, not UI controls. Given their purpose -- to 
>be containers for laying out children -- it would seem odd for them to 
>have skins. The ability to CSS-style a Pane should be sufficient to do 
>what you want.
>
>-- Kevin
>
>
>On 4/26/2019 6:13 AM, Alex Sviridov wrote:
>> I am studying JavaFX API and can't understand why GridPane, HBox, BorderPane, VBox, StackPane don't have Skins. According to Skin API doc:
>>> Base class for defining the visual representation of user interface controls by defining a scene graph of nodes to represent the skin. A user interface control is abstracted behind the Skinnable interface.
>> Why do JavaFX developers use skins only for controls, but not for the above panes? I am asking, because these panes also have visual representation. For example, we can set color, they have children which can be placed somehow differently etc. Could anyone explain?
>


-- 
Alex Sviridov


More information about the openjfx-dev mailing list