小编Fer*_*tel的帖子

JavaFX加载FXML的性能问题

我有一个主文件有切换按钮,单击其中一个按钮我启动一个新的FXMLLoader,有大约10个SVG,15个Textfield和6个微调器.此外,它有CSS来相应地渲染节点...它加载正常,没有错误或任何问题,但在显示场景之前需要一两秒钟.

我想这是由于节点数量同时被初始化.有没有办法在节点开始初始化之前显示场景?

注意:我的项目要求我在点击时导航到不同的场景.

从中选择ToggleButton

   if(settings.isSelected()){
        Stage stage = (Stage) mainWrapper.getScene().getWindow();
        Parent root = FXMLLoader.load(getClass().getResource("/fxmlFiles/settings.fxml"));
        stage.setScene(new Scene(root, Screen.getPrimary().getVisualBounds().getWidth(),
                Screen.getPrimary().getVisualBounds().getHeight()));
        stage.centerOnScreen();
        //stage.setMaximized(true);
        stage.show();
    }
Run Code Online (Sandbox Code Playgroud)

fxmlFile

    <FlowPane xmlns:fx="http://javafx.com/fxml"
    fx:controller="controllers.motelInfoController"
    stylesheets="/cssFiles/motelInfo.css"
    fx:id="content">

    <VBox fx:id="mainWrapper">
    <VBox fx:id="validationWrapper">
        <Label fx:id="validationLabel" visible="false"/>
    </VBox>
    <VBox fx:id="generalInfo">
    <HBox> <!--First Row-->
            <HBox>
            <Group>
                <SVGPath fx:id="iconMotelName" scaleX="0.05" scaleY="0.05" fill="white"/>
            </Group>
            <Group>
                <TextField fx:id="miName" promptText="Motel Name"/>
            </Group>
            </HBox>
            <HBox>
                <Group>
                    <TextField fx:id="miFranchiseName" promptText="Franchise Name"/>
                </Group>
            </HBox>
        </HBox>
    <HBox> <!--Second Row-->
            <HBox>
                <Group>
                    <SVGPath fx:id="iconMotelAddress" scaleX="0.05" scaleY="0.05" fill="white"/>
                </Group>
                <Group>
                    <TextField …
Run Code Online (Sandbox Code Playgroud)

fxml javafx-8

1
推荐指数
1
解决办法
539
查看次数

标签 统计

fxml ×1

javafx-8 ×1