is it possible to achieve native look and feel wit...
# tornadofx
l
is it possible to achieve native look and feel with tornadofx ? if yes, how?
a
Which one is native? If you mean system-specific look, JavaFX uses it by default.
l
yes i mean system specific.

https://i.imgur.com/pTzSD52.png

this doesnt look very windows10-like to me
a
You can CSS for fine-tune. But basically, it is reasonably windows10-like.
JavaFX mostly just uses native widgets.
l
it is reasonably windows10-like
this completely dodges my question
You can CSS for fine-tune
that would mean re-creating platform specific designs, that sounds like a very bad idea
a
I do not know, what do you mean about platform-specific design. I've opened few windows system windows, and they use different design. Old style looks like your screenshot.
l
let me quickly recreate that window for comparison
a
Here is the theme. which resemles modern windows control elements: https://pixelduke.com/java-javafx-theme-jmetro/
l

https://i.imgur.com/fFWU1HC.png

this is what i wanted
the thing is, i don't wanna set a specific theme because win10 theme on linux or mac would look pretty out of place
i was wondering if there was an option to adopt whatever the default design of the current os
but looks like i'll have to switch to swing for that
a
Default design for javafx is made to look good on all platforms. It actually does. You can also use JPhoenix for material design.
l
again, that is not the point here
a
Here is the modena showcase in old fxperience post: http://fxexperience.com/2013/01/modena-new-theme-for-javafx-8/ (modena is the default now)
l
it looks like JavaFX is made to look the same on all platforms. that is NOT what i want
a
It is not the same. Menus are different and there are some additional differences, but is cross-platform. If you have different look for different platform, you can say bye-bye to cross-platform UI development
l
why? is it that unreasonable to strive for an application to adapt to the look and feel of the platform its running on?
a
Because you need to have separate design for each platform. If buttons look different on different OS, they have different sizes. Therefore, you need adjust the whole scene graph and possibly do different composition.
l
just because they have different design doesnt necessarily mean they have different size. the default might be different, but so far i havent seen a button that isnt sizable
alright, looks like i'll be switching to swing then
to me this is a matter of personal taste. i dont aim to make a public software with many users so i dont care about popular opinion. but i must admit that
Spring is deprecated
this argument basically kills it
can you elaborate on why the jvm is a bad choice when looking for native look and feel ?
b
@LastExceed why not just detecting platform at runtime and selecting the according stylesheet?
you reasonably only have three to handle. Linux people tend to care less about look and feel (and if they do, let them load their own css maybe?)
Not sure what "spring is deprecated" means here.
l
why not just detecting platform at runtime and selecting the according stylesheet?
because the stylesheets are just recreations of the native design (ideally you wouldn't be able to tell the difference, but this was rather a conceptual question).
Not sure what "spring is deprecated" means here.
*swing (typo)
b
ohh
I didn't know swing was using native widgets