Packages

  • package root

    ScalaFX is a UI DSL written within the Scala Language that sits on top of JavaFX 2.x and and JavaFX 8.

    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 to javafx.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 a stage that contains a scene. A stage roughly corresponds to a window in a typical UI environment. The scene holds UI content presented to the user. In the example below, the content is a pane with a single label component.

    package hello
    
    import scalafx.application.JFXApp3
    import scalafx.geometry.Insets
    import scalafx.scene.Scene
    import scalafx.scene.control.Label
    import scalafx.scene.layout.BorderPane
    
    object HelloWorld extends JFXApp3 {
    
      override def start(): Unit = {
        stage = new JFXApp3.PrimaryStage {
          title = "Hello"
          scene = new Scene {
            root = new BorderPane {
              padding = Insets(75)
              center = new Label("Hello World")
            }
          }
        }
      }
    }
    Definition Classes
    root
  • package scalafx

    Base package for ScalaFX classes.

    Base package for ScalaFX classes.

    Definition Classes
    root
  • package application

    Wraps javafx.application package.

    Wraps javafx.application package.

    Definition Classes
    scalafx
  • ApplicationIncludes
  • ConditionalFeature
  • HostServices
  • JFXApp
  • JFXApp3
  • Platform

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
         }
       }
     }
   }
}
Annotations
@deprecated
Deprecated

(Since version 16.0.0-R23) JFXApp depends on DelayedInit that is deprecated since Scala 2.11.0 and no longer works in Scala 3. Use JFXApp3 instead.

Source
JFXApp.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JFXApp
  2. DelayedInit
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. 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.

  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. def hostServices: HostServices
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. 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.

  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. lazy val parameters: Parameters

    Set of parameters for an application

    Set of parameters for an application

    Attributes
    protected
  18. val 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.

  19. 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.

  20. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  24. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from DelayedInit

Inherited from AnyRef

Inherited from Any

Ungrouped