Sapphire JavaFX (SFX)
A JavaFX Application Framework for Scala User. It combines scala programming patterns with MVC for building complex JavaFX Applications.
Cross Build
Build and tested against Scala 2.12/2.13 and JDK 11/12
Used Frameworks
JavaFX
Java UI Application Framework as replacement for Swing.
Sapphire depends on OpenJFX 11/12.
JavaFX Code Samples Samles under CatalogJavaFX
Data Framework (sapphire-data)
sapphire-data is used for reflection based property handling.
Dependency Injection (Optional)
Sapphire use Apache Deltaspike as CDI Abstraction Layer (1.9.x).
The default CDI implementation depends on Apache OpenWebBeans (2.0.x).
Expression Language
Expressions are resolved by EL 3 Tomcat Expression Language.
Expression lookup imported from sapphire-data
Expressions can be used in code and FXML files.
Maven
Sapphire is published to Bintray and linked to Maven Central.
Repository
resolvers += "sfxcode-bintray" at "https://dl.bintray.com/sfxcode/maven"
Artifact
- sbt
libraryDependencies += "com.sfxcode.sapphire" %% "sapphire-javafx" % "1.1.3-SNAPSHOT"
- Maven
<dependencies> <dependency> <groupId>com.sfxcode.sapphire</groupId> <artifactId>sapphire-javafx_2.13</artifactId> <version>1.1.3-SNAPSHOT</version> </dependency> </dependencies>
- Gradle
dependencies { implementation "com.sfxcode.sapphire:sapphire-javafx_2.13:1.1.3-SNAPSHOT" }
Demos
Explore demos and Tutorial in project demo directory.
Also there is a showcase for commonly used pattern.