Как установить minHeight и minWidth для окна в TornadoFX?

0
задан Mirmuhsin Sodiqov 19 January 2019 в 05:52
поделиться

1 ответ

Вы на правильном пути. Предпочтительный размер корневого компонента станет исходным размером окна. Кроме того, вы можете настроить минимальный размер окна, но вы не можете сделать это в конструкторе UIComponent, поскольку он создается до фактического окна, в котором он будет отображаться. По этой причине обратный вызов onDock является Хорошее место для настройки окна с setWindowMinSize. Если это главное окно приложения, тем не менее, еще лучшей стратегией было бы переопределить start и настроить свойства minWidth и minHeigh для Stage (который является окном).

Стоит отметить, что вспомогательная функция setWindowMinSize доступна только в том случае, если вы переопределяете onDock в своем UIComponent, поскольку она определена как ярлык для установки минимального размера currentStage для UIComponent. Если вы переопределите start, вам придется напрямую манипулировать свойствами, например:

class MyApp : App(MainView::class) {
    override fun start(stage: Stage) {
        with(stage) {
            minWidth = 600.0
            minHeight = 400.0
            super.start(this)
        }
    }
}

class MainView : View() {
    override val root = borderpane {
        setPrefSize(1200.0, 720.0)
    }
}

Вы также можете установить isResizable = false в сцене / окне в функции start, если хотите предотвратить изменение размера.

0
ответ дан Edvin Syse 19 January 2019 в 05:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: