Как добавить панель JavaFX в компонент TornadoFX? - PullRequest
0 голосов
/ 19 января 2020

Как добавить панель JavaFX в TornadoFX vbox? Все, что я получаю, это пустое окно.

class TradingButtons : View() {
    override val root = vbox {
        ChartTest()
    }
}


class ChartTest(vararg children: Node?) : Pane(*children) {

    init {

        val xAxis = CategoryAxis()
        val yAxis = NumberAxis(1.0, 21.0, 0.1)

        val lineChart = LineChart(xAxis, yAxis)
        this.children.add(lineChart)
    }
}

1 Ответ

0 голосов
/ 21 января 2020

В соответствии с документацией :

Однако, чтобы фактически показать что-то на экране, мы хотим заполнить этот VBox, действующий как элемент управления root. Используя блок инициализатора , давайте добавим кнопку JavaFX и метку.

Также обратите внимание на импорт tornadofx. *. Это важно и должно присутствовать во всех ваших файлах, связанных с TornadoFX. Это важно по той причине, что некоторые функции инфраструктуры не могут быть обнаружены IDE без импорта. Этот импорт включил некоторые расширенные функции расширения, без которых вы действительно не хотите жить:)

import tornadofx.*

class MyView: View() {
    override val root = vbox {
        button("Press me")
        label("Waiting")
    }
}

TornadoFX предоставляет синтаксис компоновщика, который упростит ваш код пользовательского интерфейса. Вместо того чтобы создавать элементы пользовательского интерфейса и вручную добавлять их в список дочерних элементов родительского элемента, разработчики позволяют нам express пользовательский интерфейс в виде иерархической структуры, которая позволяет очень легко визуализировать полученный пользовательский интерфейс. Обратите внимание, что все компоновщики написаны строчными буквами, чтобы не путать их с ручным созданием классов элементов пользовательского интерфейса.

Надеюсь, это может помочь.

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