如何基于屏幕分辨率javafx在fxml中动态设置首选宽度和高度

谢尔沙·芬

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

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

我的问题是关于在fxml文件中动态设置prefWidth和prefHeight。我也想知道是否可以通过编程方式更改fxml文件中的属性值,所以我正在使用场景生成器。

詹姆斯_D

您可以(某种程度上)在FXML中执行此操作,但据我所知,不能使用Scene Builder。您可以使用fx:factory属性来获取主屏幕,并在一个<fx:define>块中对其进行定义然后使用表达式绑定根窗格prefWidth绑定prefHeight屏幕的宽度和高度。

看起来像

MaximizedPane.fxml:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.layout.StackPane?>
<?import javafx.scene.control.Label?>
<?import javafx.stage.Screen?>

<StackPane xmlns:fx="http://javafx.com/fxml/1"
           prefWidth="${screen.visualBounds.width}" 
           prefHeight="${screen.visualBounds.height}" >
    <fx:define>
        <Screen fx:factory="getPrimary" fx:id="screen"/>
    </fx:define>
    <Label text="A maximized pane"/>    
</StackPane>

这是一个快速测试工具:

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做到这一点,是因为它不支持<fx:define>在FXML中插入块的任何机制。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Windows Phone 8.1中获取屏幕分辨率(宽度和高度)?

来自分类Dev

如何在Windows Phone 8.1中获取屏幕分辨率(宽度和高度)?

来自分类Dev

如何设置与屏幕分辨率成正比的div高度?

来自分类Dev

如何在Debian中设置登录屏幕分辨率

来自分类Dev

在所有分辨率下全屏设置“视频宽度”和“高度”

来自分类Dev

Android 所有分辨率的通用高度和宽度

来自分类Dev

基于屏幕分辨率的条件css设置

来自分类Dev

正确查询屏幕宽度和设备分辨率

来自分类Dev

如何将我的ImageView高度设置为与屏幕分辨率或全屏相同?

来自分类Dev

IPython.display:如何更改显示图像的宽度,高度和分辨率

来自分类Dev

如何拉伸或缩放窗口以适合分辨率的高度和宽度尺寸?

来自分类Dev

如何使高度自动取决于屏幕分辨率

来自分类Dev

根据Android中的屏幕分辨率更改视图的高度

来自分类Dev

Unity 4.3-了解位置和屏幕分辨率,如何正确设置对象的位置?

来自分类Dev

如何在引导加载程序和屏幕登录时设置正确的分辨率

来自分类Dev

如何设置UiPath机械手的屏幕分辨率?

来自分类Dev

如何为特定程序设置屏幕分辨率?

来自分类Dev

如何同步屏幕分辨率和信号分辨率

来自分类Dev

在Centos KDE中设置屏幕分辨率

来自分类Dev

在Lubuntu中设置默认屏幕分辨率

来自分类Dev

JavaFX屏幕分辨率缩放

来自分类Dev

FFMPEG:在视频上添加固定大小的图像,而不管视频的宽度和高度(分辨率)如何

来自分类Dev

FFMPEG:在视频上添加固定大小的图像,而不管视频的宽度和高度(分辨率)如何

来自分类Dev

如何在Libgdx中设置屏幕的宽度和高度?

来自分类Dev

设备屏幕分辨率如何在CSS中缩放?

来自分类Dev

如何根据屏幕分辨率缩放libgdx中的精灵?

来自分类Dev

如何从Shell脚本中找出屏幕分辨率?

来自分类Dev

VirtualBox,Ubuntu和屏幕分辨率

来自分类Dev

屏幕和分辨率问题

Related 相关文章

  1. 1

    如何在Windows Phone 8.1中获取屏幕分辨率(宽度和高度)?

  2. 2

    如何在Windows Phone 8.1中获取屏幕分辨率(宽度和高度)?

  3. 3

    如何设置与屏幕分辨率成正比的div高度?

  4. 4

    如何在Debian中设置登录屏幕分辨率

  5. 5

    在所有分辨率下全屏设置“视频宽度”和“高度”

  6. 6

    Android 所有分辨率的通用高度和宽度

  7. 7

    基于屏幕分辨率的条件css设置

  8. 8

    正确查询屏幕宽度和设备分辨率

  9. 9

    如何将我的ImageView高度设置为与屏幕分辨率或全屏相同?

  10. 10

    IPython.display:如何更改显示图像的宽度,高度和分辨率

  11. 11

    如何拉伸或缩放窗口以适合分辨率的高度和宽度尺寸?

  12. 12

    如何使高度自动取决于屏幕分辨率

  13. 13

    根据Android中的屏幕分辨率更改视图的高度

  14. 14

    Unity 4.3-了解位置和屏幕分辨率,如何正确设置对象的位置?

  15. 15

    如何在引导加载程序和屏幕登录时设置正确的分辨率

  16. 16

    如何设置UiPath机械手的屏幕分辨率?

  17. 17

    如何为特定程序设置屏幕分辨率?

  18. 18

    如何同步屏幕分辨率和信号分辨率

  19. 19

    在Centos KDE中设置屏幕分辨率

  20. 20

    在Lubuntu中设置默认屏幕分辨率

  21. 21

    JavaFX屏幕分辨率缩放

  22. 22

    FFMPEG:在视频上添加固定大小的图像,而不管视频的宽度和高度(分辨率)如何

  23. 23

    FFMPEG:在视频上添加固定大小的图像,而不管视频的宽度和高度(分辨率)如何

  24. 24

    如何在Libgdx中设置屏幕的宽度和高度?

  25. 25

    设备屏幕分辨率如何在CSS中缩放?

  26. 26

    如何根据屏幕分辨率缩放libgdx中的精灵?

  27. 27

    如何从Shell脚本中找出屏幕分辨率?

  28. 28

    VirtualBox,Ubuntu和屏幕分辨率

  29. 29

    屏幕和分辨率问题

热门标签

归档