Обычно закрытие основной ступени активирует функцию stop()
класса приложения. Вот что вы хотите переопределить, чтобы выполнить свою собственную процедуру выключения:
class MyApp : App (FirstView::class) {
override fun stop() {
super.stop()
/* Do your shutdown routine here */
}
}
Однако у меня были случаи, когда этот лог c ломался и работало только закрытие всей программы windows. Если у вас есть «главное окно», которое вы хотите обеспечить закрытие программы, добавьте его также в свой класс приложений:
override fun start(stage: Stage) {
stage.setOnHiding { stop() }
}
Редактировать: я бы использовал вашу IDE, чтобы посмотреть, что именно * Функция 1008 * подходит для вас, а также посмотрите на ответы, связанные с Аброй, чтобы увидеть, что делает ванильная функция JavaFX Platform.exit()
, поскольку TornadoFX является просто JavaFX по своей сути, и это наиболее явное завершение работы приложения JavaFX. Некоторые пользователи в этой теме сообщили, что их программа все еще зависает, в зависимости от того, что они делают, и предложили добавить System.exit(0);
, также известный как exitProcess(0)
в Kotlin, к своей процедуре завершения работы, чтобы убедиться, что программа умирает.