Расположение диалогового окна - PullRequest
0 голосов
/ 07 июня 2019

Я создаю небольшой немодальный диалог в TornadoFX, например:

find<Grib>(scope).apply { openModal(block = true,
                          owner = FX.primaryStage,
                          stageStyle = StageStyle.UTILITY,
                          modality = Modality.NONE) }

Как мне настроить (и получить) позицию окна на потом?То есть у меня есть объект предпочтений для местоположения окна, и я хочу обновить его, чтобы в следующий раз, когда пользователь открыл окно, оно открылось там же, где они в последний раз закрывали его.

1 Ответ

0 голосов
/ 12 июня 2019

Мне удалось в основном решить мою проблему, покопавшись в исходном коде TornadoFX.

Я добавил это в свою функцию init {}:

Platform.runLater {
    root.scene.window.x = Main.preferences.getDouble(GRIB_WINDOW_X, 400.0)
    root.scene.window.y = Main.preferences.getDouble(GRIB_WINDOW_Y, 400.0)
}

И затем добавил этодля моей функции close ():

Main.preferences.putDouble(GRIB_WINDOW_X, root.scene.window.x)
Main.preferences.putDouble(GRIB_WINDOW_Y, root.scene.window.y)

Это «в основном» решает проблему в том смысле, что оно сохраняет / восстанавливает положение окна, однако окно мигает при его создании, когда оно перемещается из некоторого положения по умолчанию ввновь установленная позиция.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...