javafx框架tornadofx入门28_使用现有布局文件fxml

2020-04-27 18:01:35 浏览数 (1)

1.删除现有布局文件中的控制器,如:

代码语言:txt复制
fx:controller="app.MainController"

2.在View中通过by fxml(fxmlPath)覆写root,fxml文件需放在资源目录resources 或其子目录如view下:

代码语言:txt复制
override val root : TextArea by fxml("/view/MainView.fxml")

3.通过by fxid()引用对应id的控件,对于按钮的onAction="#hello"事件,直接定义相应的函数即可:

代码语言:txt复制
val msg : Label by fxid()
fun hello() {
        msg.text="you click the hello button"
    }

fxml:

代码语言:javascript复制
<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<BorderPane fx:id="mainWindow" prefHeight="600.0" prefWidth="900.0"
            xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
    <center>
        <VBox spacing="20">
            <children>
                <Label fx:id="msg">

                </Label>
                <Button fx:id="mybtn" onAction="#hello" text="hello tornadofx">

                </Button>
            </children>
        </VBox>
    </center>
</BorderPane>

tornadofx view:

0 人点赞