JavaFX - 如何缩小和调整背景

时间:2021-01-08 12:05:51

标签: javafx background resize zooming

我目前正在开展一个有关图表的项目,并且我已经使用了该论坛的许多条目。但是,我目前遇到了一个似乎找不到解决方案的问题。

我正在使用 Eclipse、JRE 1.8 和 JavaFX。

我有一个窗格和一个缩放功能,它(几乎)工作正常。但是背景的大小(它只是某种颜色,而不是图像或类似的东西)在我缩小时不会调整大小以适应,这意味着我在灰色(无色)前面有一个(在我的情况下)小绿色矩形?) 墙。我还不能发布图片,但我希望我的问题能解决。

如果我调整窗口大小,背景大小会随着调整大小的增加而增长,但绿色矩形和窗口边框之间的“距离”保持不变。如果我放大(足够),绿色矩形会覆盖整个窗口。

似乎背景最初填满了我的窗口大小,但我的缩放功能也会影响背景 - 这是有道理的,因为我的缩放功能会重新调整窗格的内容 - 据我所知 - 背景是窗格。

我的项目使用这个库 JavaFXSmartGraph。我更改了代码以允许以小于 1 的比率进行缩放,从而基本上实现缩小。我在这里添加了缩放方法的代码只是为了保持整洁,但如果有必要我可以添加更多。为方便起见,我在这里只使用了一半的比例,这已经触发了缩小。通常缩放由鼠标事件触发并根据一些变量计算比例。

private void enablePanAndZoom() {
        myPane.setScaleX(0.5);
        myPane.setScaleY(0.5);
    }

我尝试了一些解决方法,通过在我的主类中更改按钮单击的大小(并更改颜色以检查该行是否被触发)通过

myPane.setStyle("-fx-background-size: 1000 1000; -fx-background-color: red;");

myPane.setStyle("-fx-background-size: 1400 1200 false false false false; -fx-background-color: red;"); 

背景颜色确实变为红色,但大小不受影响。 我的舞台有“足够”的最小/最大高度/宽度设置。我可以做一些类似于我的场景的事情吗?

所以基本上我的问题是:为什么我不能调整我的背景大小,但改变它的颜色?我希望我的解释是可以理解的。

0 个答案:

没有答案