Обмен части зрения с использованием TornadoFX - PullRequest
1 голос
/ 17 февраля 2020

Я работаю над фитнес-приложением и пытаюсь создать что-то вроде меню, которое меняет контейнер вправо в зависимости от выбранного в данный момент пункта меню. Решение, которое я придумал до сих пор, заключается в том, что я извлекаю каждое представление, которое связано с элементом меню, из основного представления и заменяю контейнер с помощью функции replaceWith<ExcerciseEditor>(). Это работает, но я думаю, что должно быть лучшее решение для этого.

// MainView.kt

open class MainView : View("Fit App"){
    protected val container: StackPane by fxid()
    override val root: AnchorPane by fxml("/view/MainView.fxml")

    fun createExercise(){
        replaceWith<ExerciseEditor>()
    }

    // [...]
}

// ExerciseEditor.kt

class ExerciseEditor : MainView(){

    init {
        container.children += loadFXML<AnchorPane>("/view/ExerciseEditor.fxml")
    }

    // [...]
}

Приложение выглядит так. root этого представления представляет собой HBox, содержащий две панели: слева от строки меню и справа панель стека, содержащую другие представления.

Final Result

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