当前位置:  开发笔记 > Android > 正文

如何根据屏幕分辨率javafx动态设置fxml中的首选宽度和高度

如何解决《如何根据屏幕分辨率javafx动态设置fxml中的首选宽度和高度》经验,为你挑选了1个好方法。

我是javafx的新手.是否可以根据屏幕分辨率在fxml文件中动态设置首选宽度和高度?我知道如何获得屏幕分辨率并将其设置为阶段:

Screen screen = Screen.getPrimary(); 
Rectangle2D bounds = screen.getVisualBounds();
stage.setWidth(bounds.getWidth());
stage.setHeight(bounds.getHeight());

我的问题是关于在fxml文件中动态设置prefWidth和prefHeight.另外我想知道我是否可以以编程方式更改fxml文件中的属性值,我正在使用场景构建器.



1> James_D..:

您可以(在某种程度上)在FXML中执行此操作,但不能在Scene Builder中执行此操作(据我所知).您可以使用fx:factory属性来获取主屏幕并在块中定义它.然后使用表达式结合以结合prefWidthprefHeight根窗格到屏幕的宽度和高度的.

这看起来像

MaximizedPane.fxml:








    
        
    
    

这是一个快速测试工具:

import java.io.IOException;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class MaximizedFXMLPane extends Application {

    @Override
    public void start(Stage primaryStage) throws IOException {
        Scene scene = new Scene(FXMLLoader.load(getClass().getResource("MaximizedPane.fxml")));
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

(使用Scene Builder无法做到这一点的原因是它不支持在FXML中插入块的任何机制等.)

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有