728x90
- JavaFX 애플리케이션 생성
- JavaFX 애플리케이션을 생성하려면 클래스를 상속받은 클래스를 작성해야 합니다.Application
- start() 메서드에서 GUI를 초기화하고 표시합니다.
- 백그라운드 프로그램 실행
- 백그라운드에서 실행할 프로그램을 작성합니다.
- start() 메서드에서 백그라운드 프로그램을 시작하고 필요한 경우 스레드를 사용하여 병렬로 실행할 수 있습니다.
- 프로그램이 실행되는 동안 GUI를 업데이트하려면 메서드를 사용하여 GUI 업데이트를 JavaFX Application 스레드에 보낼 수 있습니다.Platform.runLater()
- 애플리케이션 종료 처리
- 애플리케이션이 종료될 때 백그라운드 프로그램을 중지해야 합니다.
- stop() 메서드에서 백그라운드 프로그램을 중지하고 자원을 정리합니다.
-
- import javafx.application.Application
import javafx.application.Platform
import javafx.scene.Scene
import javafx.scene.control.Label
import javafx.scene.layout.StackPane
import javafx.stage.Stage
class MyApp : Application() {
private lateinit var backgroundThread: Thread
override fun start(primaryStage: Stage) {
// GUI 초기화
val root = StackPane(Label("My App"))
primaryStage.scene = Scene(root, 200.0, 100.0)
primaryStage.show()
// 백그라운드 프로그램 시작
backgroundThread = Thread {
// 여기에서 백그라운드에서 실행할 작업을 수행합니다.
while (true) {
// 백그라운드에서 작업하는 동안 GUI 업데이트
Platform.runLater {
root.children[0] = Label("Count: ${System.currentTimeMillis()}")
}
Thread.sleep(1000)
}
}
backgroundThread.start()
}
override fun stop() {
// 백그라운드 프로그램 중지 및 자원 정리
backgroundThread.interrupt()
}
}
fun main() {
Application.launch(MyApp::class.java)
}
- import javafx.application.Application
- 이 예제에서는 메서드에서 백그라운드 스레드를 시작하여 1초마다 GUI를 업데이트합니다. 메서드에서는 백그라운드 스레드를 중지합니다. 이 예제에서는 스레드가 무한 루프를 돌고 있으므로 를 호출하여 스레드를 중지합니다. 만약 백그라운드 프로그램이 자원을 사용하는 경우, 자원을 정리하는 작업도 메서드에서 수행해야 합니다.start()stop()interrupt()stop()
728x90
'코틀린' 카테고리의 다른 글
코틀린 언어 소개 (0) | 2024.01.10 |
---|---|
코틀린 윈도우 서비스로 프로세스를 실행 (0) | 2023.03.08 |
javafx kotlin 자식창 닫으면 부모창 listview 업데이트(fxml 사용기준) (0) | 2023.01.21 |
javafx(fxml) close 버튼 클릭시 창 닫기 코틀린(kotlin) (0) | 2023.01.14 |
코틀린 네이버 selenium 로그인 (0) | 2023.01.06 |