Panes are about positioning their children. But if you need a div element to do 
so, that should be no problem. The render engine is free to choose whatever it 
needs to render a given node tree.

The nodes tree is about what needs to be rendered, not how to do it for a 
certain technology. So GridPane just positions its childeren, independent on 
the actual visualization. And then the engine has to decide how to visualize 
those nodes (using as many divs as it needs).



On 29-4-2019 12:49, Alex Sviridov wrote:
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.rushfo...@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?


Reply via email to