Files
jfx-learn/lesson1/src/main/kotlin/Main.kt
T
2025-07-26 20:59:15 +08:00

45 lines
1.1 KiB
Kotlin

/*
* Lesson: Basic Structure of JavaFX Applications
*
* Application
* Stage: aka. the window
* Scene: A Stage can contain multiple Scenes, but only one can be displayed at a time
* Parent (e.g., Group, Pane)
* Node (e.g., Button, Label)
* Parent (e.g., VBox, HBox)
* Node (e.g., TextField)
* Node (e.g., CheckBox)
* ...
* ...
*/
package com.msksbr.jfxLearn.lesson1
import javafx.application.Application
import javafx.scene.Scene
import javafx.stage.Stage
import javafx.scene.control.Label
import javafx.scene.layout.BorderPane
// 1. create a class that extends javafx.application.application
class MainApplication : Application() {
// 2. override Application.start
override fun start(stage: Stage) {
// Node
val label = Label("i am label")
// Parent
val pane = BorderPane(label)
// Scene
val scene = Scene(pane, 300.0, 300.0)
// 3. bind Scene to Stage
stage.scene = scene
stage.title = "i am Stage"
stage.show()
}
}
fun main(args: Array<String>) {
Application.launch(MainApplication::class.java, *args)
}