Skip to content

Instantly share code, notes, and snippets.

@CSaratakij
Last active March 13, 2016 13:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save CSaratakij/26581573c8f82309638e to your computer and use it in GitHub Desktop.
Save CSaratakij/26581573c8f82309638e to your computer and use it in GitHub Desktop.
package playground.application
import javafx.application.Application
import javafx.scene.Scene
import javafx.stage.Stage
import javafx.scene.paint.Color
import javafx.scene.text.*
import javafx.scene.control.*
import javafx.scene.layout.*
import javafx.geometry.*
class App : Application() {
override fun start(primaryStage: Stage) {
primaryStage.setTitle("JavaFX with Kotlin language 1.0")
val grid = GridPane()
grid.setAlignment(Pos.CENTER)
grid.setHgap(10.0)
grid.setVgap(10.0)
grid.setPadding(Insets(25.0, 25.0, 25.0, 25.0))
val sceneTitle = Text("Welcome")
sceneTitle.setFont(Font.font("Tahoma", FontWeight.NORMAL, 20.0))
grid.add(sceneTitle, 0, 0, 2, 1)
val lblUserName = Label("User Name:")
grid.add(lblUserName, 0, 1)
val txtUserTextField = TextField()
grid.add(txtUserTextField, 1, 1)
val lblPassword = Label("Password:")
grid.add(lblPassword, 0, 2)
val pwfUserPasswordField = PasswordField()
grid.add(pwfUserPasswordField, 1, 2)
val lblActionTarget = Text()
grid.add(lblActionTarget, 1, 6)
val btnSignIn = Button("Sign in")
btnSignIn.setOnAction {
lblActionTarget.setFill(Color.FIREBRICK)
lblActionTarget.setText("Sign in button pressed.")
}
val hbBtn = HBox(10.0)
hbBtn.setAlignment(Pos.BOTTOM_RIGHT)
hbBtn.getChildren().add(btnSignIn)
grid.add(hbBtn, 1, 4)
val scene = Scene(grid, 640.0, 480.0)
primaryStage.setScene(scene)
primaryStage.show()
}
fun run(args: Array<String>) {
launch(*args)
}
}
fun main(args: Array<String>) {
App().run(args)
}
@cbuctok
Copy link

cbuctok commented Mar 5, 2016

A bit cleaner version:

package playground.application

import javafx.application.Application
import javafx.scene.Scene
import javafx.stage.Stage
import javafx.scene.paint.Color
import javafx.scene.text.*
import javafx.scene.control.*
import javafx.scene.layout.*
import javafx.geometry.*

class App : Application() {

    override fun start(primaryStage: Stage) {

        primaryStage.title = "JavaFX with Kotlin language 1.0"

        val grid = GridPane()
        grid.alignment = Pos.CENTER
        grid.hgap = 10.0
        grid.vgap = 10.0
        grid.padding = Insets(25.0, 25.0, 25.0, 25.0)

        val sceneTitle = Text("Welcome")
        sceneTitle.font = Font.font("Tahoma", FontWeight.NORMAL, 20.0)
        grid.add(sceneTitle, 0, 0, 2, 1)

        val lblUserName = Label("User Name:")
        grid.add(lblUserName, 0, 1)

        val txtUserTextField = TextField()
        grid.add(txtUserTextField, 1, 1)

        val lblPassword = Label("Password:")
        grid.add(lblPassword, 0, 2)

        val pwfUserPasswordField = PasswordField()
        grid.add(pwfUserPasswordField, 1, 2)

        val lblActionTarget = Text()
        grid.add(lblActionTarget, 1, 6)

        val btnSignIn = Button("Sign in")
        btnSignIn.setOnAction {
            lblActionTarget.fill = Color.FIREBRICK
            lblActionTarget.text = "Sign in button pressed."
        }

        val hbBtn = HBox(10.0)
        hbBtn.alignment = Pos.BOTTOM_RIGHT
        hbBtn.children += btnSignIn
        grid.add(hbBtn, 1, 4)
That one is a little cleaner:

        val scene = Scene(grid, 640.0, 480.0)
        primaryStage.scene = scene
        primaryStage.show()
    }

    fun run(args: Array<String>) {
        launch(*args)
    }
}

fun main(args: Array<String>) {
    App().run(args)
}

@CSaratakij
Copy link
Author

thank you^_^
It's cleaner than a set method //I agree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment