[출처 - 이 글은 tornadofx-guide르 통해 공부한 내용을 정리한 글입니다. 더 정확한 내용은 https://edvin.gitbooks.io/tornadofx-guide/part1/2.%20Setting%20Up.html 에서 확인 하실 수 있습니다.]
Kotlin 공부를 하다보면 항상 터미널을 사용해서 그 결과값을 확인합니다.
그럼 GUI를 띄우려면 어떻게하면 될까요?
Kotlin 공식 싸이트의 Resouces를 확인해보면
TornadoFX라는 GUI Framework가 존재합니다. (더 많은 framework나 Library등을 확인해 보시려면
https://kotlinlang.org/docs/resources.html << 여기서 확인하시면 됩니다.)
이 Framework를 추가하여 kotlin을 사용하여 GUI를 띄울수 있습니다. 그럼 적용 방법을 알려드리겠습니다.
우선 gradle에는 다음과 같이 적용하고 (x.y.z에 tornado 사이트에 있는 version 정보를 입력하면 됩니다. https://tornadofx.io/)
repositories {
mavenCentral()
}
// Minimum jvmTarget of 1.8 needed since Kotlin 1.1
compileKotlin {
kotlinOptions.jvmTarget= 1.8
}
dependencies {
compile 'no.tornado:tornadofx:x.y.z'
}
maven이라면
<configuration>
<jvmTarget>1.8</jvmTarget>
</configuration>
<dependency>
<groupId>no.tornado</groupId>
<artifactId>tornadofx</artifactId>
<version>x.y.z</version>
</dependency>
같이 추가 합니다.
저 같은 경우에는 Gradle이 더 익숙하여 Gradle을 사용하였습니다.
그래서 제가 사용한 gradle build를 보시면
plugins {
id 'java'
id 'org.jetbrains.kotlin.jvm' version '1.3.50'
}
group 'UI_Test'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
compileKotlin {
kotlinOptions.jvmTarget= 1.8
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
compile 'no.tornado:tornadofx:1.7.19'
testCompile group: 'junit', name: 'junit', version: '4.12'
}
위와 같이 작성되고 그 후
빨간 동그라미에 있는 버튼을 누르면 적용이 됩니다. (우측에 Gradle 탭을 누르면 나타납니다.)
잘 적용이 되었다면 Gradle 쪽 항목에 no.tornado.* 문자들이 보이고,
import tornadofx.* 가 error 없이 작성됩니다.
그럼 이제 GUI를 띄우기 위해 coding을 시작합니다.
import tornadofx.*
class MyView: View() {
override val root = vbox {
button("Press me")
label("Waiting")
}
}
class MyApp : App(MyView::class)
fun main(args: Array<String>) {
launch<MyApp>(args)
}
이렇게 coding을 해주면, coding은 완료 됩니다. 간단하게 coding 내용을 보면 vbox에 button과 label을 추가하고 그 내용을 MyApp에 적용 합니다. 그리고 MyApp을 구동한다고 생각하시면 편합니다. (동작과 관련된 부분은 다음에 설명하도록 하겠습니다.)
이렇게 작업을 완료하고 Run을 하면
이런 결과 화면이 나옵니다.
이상 tornado와 kotlin을 사용하여 GUI 띄우기를 해보았습니다. 혹시 더 자세한 내용을 알고싶으신 분은 https://edvin.gitbooks.io/tornadofx-guide/ 에서 확인하시면 저 자세한 사항을 볼 수 있습니다.
'2023년 이전 > kotlin-TornadoFx' 카테고리의 다른 글
TornadoFx - replaceView , passParameter (0) | 2019.10.07 |
---|---|
TornadoFx - Fragment (0) | 2019.10.07 |
TornadoFx - Controller, runAsync (0) | 2019.10.07 |
TornadoFX - View 적용 (0) | 2019.10.07 |
TornadoFX 동작시키기 (0) | 2019.10.07 |