this post was submitted on 15 Jul 2023
3 points (100.0% liked)

JavaFX

119 readers
1 users here now

JavaFX is a software platform and a graphical user interface (GUI) toolkit that allows developers to create rich and interactive applications for desktop, mobile, and embedded devices. It provides a powerful set of tools and APIs for building modern, visually appealing applications.

JavaFX was introduced as a successor to the Swing framework. It is designed to provide a more advanced and flexible way of developing user interfaces compared to Swing, with improved graphics and multimedia capabilities.

Rules

  1. No NSFW/NSFL content
  2. No service requests/offers
  3. Must be JavaFX related
  4. No politics

founded 1 year ago
MODERATORS
top 5 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 1 year ago

I don't know Scala, but it's easy to read the example code and understand what it does. A lot of it reminds me of how well JavaFX integrates with Kotlin.

The configuration code reads very similar to how Kotlin uses apply{} to do the same things.

What I wonder, though, is how much you actually need ScalaFX to do this? Does it fall into the same category as TornadoFX does with Kotlin?

For instance, in the example code it uses some sort of extension of Application which looks like it makes the Stage setup more declarative. But, presumably you could use the standard start() routine and use the same kind of syntax to configure primaryStage. So how much value does the custom Application actually add?

[–] u_tamtam 2 points 1 year ago (2 children)

ScalaFX is so good at what it does (offering a declarative and concise way to build UIs with events handling and animations) that I would go as far as to recommend it in place of FXML, and beyond just Scala projects. It's that good (IMO)

[–] UFODivebomb 1 points 1 year ago (1 children)

I have not used any ScalaFX or JavaFX but the pitch is great for a Scala fan. I'm a bit put off by the requirement for a JDK (JRE?) or SDK that didn't seem to be automatically available - at least on my NixOS. Probably a NixOS thing? Didn't look into it much.

[error] Loading library prism_es2 from resource failed: java.lang.UnsatisfiedLinkError: /home/coconnor/.openjfx/cache/20+19/amd64/libprism_es2.so: libXxf86vm.so.1: cannot open shared object file: No such file or directory

The demos are slick so I'll definitely figure out what's going on. Once I have time haha

[–] u_tamtam 2 points 1 year ago

I'm not familiar with NixOS, so I really can't help with that missing dependency.. regarding the requirements of a JRE, it looks like GraalVM+native-image lets you now compile to native and produce executables that do not require a JVM. Gluon is a company specializing in that, plus offering the tooling to compile JavaFX to iOS/Android too (I haven't dabbed beyond simple hello worlds with their tech, though).

[–] HamsterRage 1 points 1 year ago

Recommending it in place of FXML is not a very high bar, IMHO. 🙂