0

这是我的第一个 javaFX 项目。我正在处理的项目包括一个可以调整应用程序窗口大小的功能。调整窗口大小后,我希望窗口中的所有对象都会根据窗口大小按比例增加。我没有让它与“CheckBox”对象一起使用。

正如您在下面以红色突出显示的那样,在窗口调整大小之前和之后显示了一个 CheckBox 对象。在调整大小之前,红色复选框很好地适合绿色框,但在调整大小之后,红色复选框是正确的(缩放)宽度,但没有像我预期的那样增加高度。我应该从哪里开始努力使我的 CheckBox 对象更具垂直响应?

最小化 最小化 最大化 最大化

如您所见(红色),复选框按我的预期水平缩放,但它不会垂直缩放以占用剩余空间!

4

2 回答 2

0

经过更多的研究和有益的回应,我收集了一个可行的解决方案。

制作了一个“DoubleProperty”对象,并绑定到包含我的复选框的容器的宽度。例如,将此容器称为“dryLeafGridPane”。

DoubleProperty checkboxFontSize = new SimpleDoubleProperty(10);
checkboxFontSize.bind((dryLeafGridPane.widthProperty().divide(36)));

.divide(36) 将 CheckBox 的字体大小缩放为网格窗格宽度的 1/36。最后,我只是使用 CSS 添加新的字体大小。

dryLeafGridPane.styleProperty().bind(Bindings.concat("-fx-font-size: ", checkboxFontSize.asString()));

这是(稍微多一点)响应式应用程序的gif 图像!

于 2021-01-07T13:23:37.173 回答
-1

您可以选择在全屏时增加根窗格上的字体大小。例如:

rootPane.setStyle("-fx-font-size: 150%;");

但这并不完美……似乎选中的框的大小不随字体缩放。

于 2021-01-05T22:04:41.143 回答