Skip to content
ScalaFX - JavaFX Application Framework (CDI, Binding, Expressions)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
demos
project
src
.gitignore
.jvmopts
.sbtopts
.travis.yml
CHANGES.md
LICENSE
README.md
build.sbt
paradox.sbt
scalastyle-config.xml
version.sbt

README.md

Sapphire

A JavaFX Application Framework for Scala User.

Documentation

Documentation under https://sfxcode.github.io/sapphire-core

Travis

Build Status

Download

Download

Giter8 Template

Giter8 template: sapphire-sbt.

Usage

g8 https://github.com/sfxcode/sapphire-sbt.g8

Licence

Apache 2 License.

Demos

Tutorial

Start from Console:

sbt run-tutorial

Login

Start from Console:

sbt run-login

Issues

sbt run-issues

Technology Stack

Java JDK 11/12

Sapphire runs agains the latest JDK 11/12 version.

JavaFX

Java UI Application Framework as replacement for Swing.

Sapphire depends on OpenJFX 12

https://openjfx.io

ScalaFX

A DSL for JavaFX written in Scala.

ScalaFX Website

Dependency Injection

Sapphire use Apache Deltaspike as CDI Abstraction Layer (1.9.x).

http://deltaspike.apache.org

The default implementation depends on Apache OpenWebBeans (2.0.x).

http://openwebbeans.apache.org

Expression Language

Expressions are resolved by JUEL.

http://juel.sourceforge.net

Features

Application Environment powered by CDI

  • Application Controller
  • UI Controller loading
  • Parameter Provider
  • Configuration Provider
  • FXML Loading
  • Hot Reloding

Bean Enhancement

  • Every Java / Scala Bean can be used for FXBean
  • FXBean has additional support for java/scala Maps
  • FXBean resolves Expressions on bean
  • FXBean creates Properties needed for Binding on demand
  • FXBean has change management by default

Scala JavaFX Bean Binding

  • Bindings by form id
  • Binding with converter
  • Adapter Pattern (FXBean Adapter)

ViewController

  • Controller Lifecycle
  • Node Locator
  • Controller CDI Additions

FXML Support

  • Simple load from controller

maven

sapphire-core is deployed on bintray (jcenter).

You can’t perform that action at this time.