trait JFXApp3 extends AnyRef
ScalaFX applications can extend JFXApp3 to create properly initialized JavaFX applications.
On the back end JFXApp3
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:
import scalafx.application.JFXApp3 import scalafx.application.JFXApp3.PrimaryStage import scalafx.geometry.Insets import scalafx.scene.Scene import scalafx.scene.layout.HBox import scalafx.scene.paint.Color._ import scalafx.scene.paint._ import scalafx.scene.text.Text object JFXApp3Demo extends JFXApp3 { override def start(): Unit = { stage = new PrimaryStage { title = "ScalaFX Hello World!" scene = new Scene { fill = Color.rgb(38, 38, 38) content = new HBox { padding = Insets(50, 80, 50, 80) children = Seq( new Text { text = "Hello World!" style = "-fx-font: normal bold 100pt sans-serif" fill = new LinearGradient(endX = 0, stops = Stops(Red, DarkRed)) } ) } } } } }
- Source
- JFXApp3.scala
- Alphabetic
- By Inheritance
- JFXApp3
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
Concrete 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[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- 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
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
lazy val
parameters: Parameters
Set of parameters for an application
Set of parameters for an application
- Attributes
- protected
-
val
stage: PrimaryStage
JFXApp3 stage must be an instance of scalafx.application.JFXApp3.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 JFXApp3 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(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): 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
JFXApp3
. 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.