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?