본문 바로가기
JavaFX

Timeout을 걸고, 시간이 지난 뒤에 작업이 필요할 때 : PauseTransition

by 루에 2020. 7. 17.
반응형

예를 들어, 새로운 stage를 열고 특정 시간이 지난 뒤에도 떠있다면 닫고 싶을 때라던지, 특정 시간이 지난 후에 작업이 필요할 때 쓰기 위한 객체 PauseTransition

 

객체 이름만 보면 뭔가 작업 중지에 대한게 필요할 때를 위한 것임을 알 수 있다.

 

아래와같이 사용한다.

 

private val delay = PauseTransition(Duration.millis(6 * 1000.0))

6초로 세팅

 

init {
        delay.setOnFinished {
            println("6초 지나쪙")
            hideLoading()
        }
    }

6초가 지나면 로딩화면이 사라지는 함수를 호출한다.

 

fun showLoading(stage: Stage? = null) {
        if(loading != null){
            hideLoading()
        }
        if(loadingLock) return

        loading = stage ?: show()
        loading!!.show()
        delay.play()
    }

showLoading()을 호출할 때 delay를 play() 시키면, 로딩화면이 show()된 후에 6초가 지나고 사라지게 된다.

 

 

반응형

댓글