Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于动态UI缩放的JavaFX缩放类_Java_User Interface_Javafx_Java 8_Javafx 8 - Fatal编程技术网

用于动态UI缩放的JavaFX缩放类

用于动态UI缩放的JavaFX缩放类,java,user-interface,javafx,java-8,javafx-8,Java,User Interface,Javafx,Java 8,Javafx 8,我正在使用JavaFX进行教育性克朗代克游戏项目。 我想做的是创建整个游戏的动态缩放 我用scale类来做这件事。它看起来几乎不错,因为它改变了除背景之外的所有界面元素的比例,背景比实际窗口小一点 我已经尝试过使用背景大小进行操作,但没有任何改变。我怎样才能修好它 非常感谢你的帮助 我添加图片以显示问题: 背景图片: public void setTableBackground(Image tableBackground) { setBackground(new Backgr

我正在使用JavaFX进行教育性克朗代克游戏项目。 我想做的是创建整个游戏的动态缩放

我用scale类来做这件事。它看起来几乎不错,因为它改变了除背景之外的所有界面元素的比例,背景比实际窗口小一点

我已经尝试过使用背景大小进行操作,但没有任何改变。我怎样才能修好它

非常感谢你的帮助

我添加图片以显示问题:

背景图片:

    public void setTableBackground(Image tableBackground) {
    setBackground(new Background(new BackgroundImage(tableBackground,
            BackgroundRepeat.REPEAT, BackgroundRepeat.REPEAT,
            BackgroundPosition.CENTER, BackgroundSize.DEFAULT)));
}

应用缩放变换不会修改其应用到的节点的大小。仅修改渲染大小。由于原始尺寸仅包括绿色部分,因此会得到一个空边框。最简单的解决方案可能是将内容包装在
窗格中
,并在比例改变时调整包含背景的节点的大小。(将该节点的
managed
设置为
false
,以防止其父节点将其大小调整为较小的大小。)请看以下问题:。也许这个问题是重复的。
    public void setTableBackground(Image tableBackground) {
    setBackground(new Background(new BackgroundImage(tableBackground,
            BackgroundRepeat.REPEAT, BackgroundRepeat.REPEAT,
            BackgroundPosition.CENTER, BackgroundSize.DEFAULT)));
}