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

https://openjfx.io

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.

Licence

Apache 2