trait JFXApp extends DelayedInit
ScalaFX applications can extend JFXApp to create properly initialized JavaFX applications.
On the back end JFXApp
first calls javafx.application.Application.launch then executes body of its
constructor when
javafx.application.Application.start(primaryStage:Stage)
is called. Here is an example use:
object SimpleScalaFXApp extends JFXApp { stage = new PrimaryStage { title = "Simple ScalaFX App" scene = new Scene { root = new StackPane { padding = Insets(20) content = new Rectangle { width = 200 height = 200 fill = Color.DEEPSKYBLUE } } } } }
- Source
- JFXApp.scala
- Alphabetic
- By Inheritance
- JFXApp
- DelayedInit
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
delayedInit(x: ⇒ Unit): Unit
Add class/object construction/initialization code to the code execution buffer.
Add class/object construction/initialization code to the code execution buffer.
This function is called multiple times (by the Scala compiler) with the initialization/construction code of each class and object (but not trait!) that extends JFXApp. This code is buffered until it can be executed in main().
- x
Class/object construction code to be buffered for delayed execution.
- Definition Classes
- JFXApp → DelayedInit
- Note
You are strongly advised not to override this function.
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- def hostServices: HostServices
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
main(args: Array[String]): Unit
Perform app-related initialization, and execute initialization/construction code for all classes and objects that extend this trait.
Perform app-related initialization, and execute initialization/construction code for all classes and objects that extend this trait.
- args
Command line arguments.
- Note
You are strongly advised not to override this function.
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
lazy val
parameters: Parameters
Set of parameters for an application
Set of parameters for an application
- Attributes
- protected
-
var
stage: PrimaryStage
JFXApp stage must be an instance of scalafx.application.JFXApp.PrimaryStage to ensure that it actually is a proper wrapper for the primary stage supplied by JavaFX.
-
def
stopApp(): Unit
This method is called when the application should stop, and provides a convenient place to prepare for application exit and destroy resources.
This method is called when the application should stop, and provides a convenient place to prepare for application exit and destroy resources.
It is called from javafx.Application.stop method. The implementation of this method provided by the JFXApp class does nothing.
NOTE: This method is called on the JavaFX Application Thread, the same as javafx.Application.stop method.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
ScalaFX is a UI DSL written within the Scala Language that sits on top of JavaFX 2.x and and JavaFX 8. This means that every ScalaFX application is also a valid Scala application. By extension it supports full interoperability with Java and can run anywhere the Java Virtual Machine (JVM) and JavaFX 2.0 or JavaFX 8 are supported.
Package Structure
ScalaFX package structure corresponds to JavaFX package structure, for instance
scalafx.animation
corresponds tojavafx.animation
.Example Usage
A basic ScalaFX application is created creating an object that is an instance of
JFXApp
. Following Java FX theatre metaphor, it contains astage
that contains ascene
. Astage
roughly corresponds to a window in a typical UI environment. Thescene
holds UI content presented to the user. In the example below, the content is a pane with a singlelabel
component.