【问题标题】:How to set a window minimum size according to its content in JavaFX?如何根据 JavaFX 中的内容设置窗口最小尺寸?
【发布时间】:2014-03-20 11:40:39
【问题描述】:

要在 JavaFX 2.2 中将窗口最小尺寸静态设置为 100x100 像素帧,可以使用:

stage.setMinWidth(100);
stage.setMinHeight(100);

假设我们不想设置固定的最小尺寸,但我们希望将窗口调整到其所有内容(按钮、文本字段等)仍然完全可见的最小尺寸。我们该怎么做?

【问题讨论】:

  • 内部由javafx自动处理!

标签: java javafx


【解决方案1】:

你可以尝试使用stage.minWidthProperty().bind(...这里绑定表达式...);

当然,难点在于定义绑定表达式……它应该依赖于你的所有组件,但它仍然可以工作。

调整子级的大小将修改绑定表达式并更改舞台上的 minWidthProperty。

【讨论】:

  • 这不仅仅是一个很棒的解决方案,因为它从编码的角度来看非常简单(至少基础很简单,其余的只是一个有趣的挑战!),而且它在视觉上看起来也很棒 -没有恼人的故障或滞后。简直太棒了! +1
【解决方案2】:

我建议您阅读 PaneRegionGroup 节点的 javadoc。关于他们如何布局和调整孩子的大小。基本上,如果您不设置窗格的首选大小,则默认情况下,它将根据其内容进行计算。也看看Window.sizeToScene() 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    • 2020-01-28
    • 2022-08-02
    • 2010-10-26
    • 2023-01-11
    • 2023-04-11
    相关资源
    最近更新 更多