如何创建一个(立即)动态调整大小的 JavaFX 应用程序?现在,我已经编写了一个简单的应用程序,可以动态调整大小,但布局更改只有在拖动鼠标按钮后才会显示。我希望在此按钮释放之前立即看到结果/布局更改。
我假设这是通过将正确的值/控件与反向绑定来完成的...任何帮助都会很棒!
EDIT:
这就是我如何让事情发挥作用的(感谢 Praeus)。正如他所说,我必须将顶级容器/布局的宽度和高度绑定到 scene.width 和 scene.height。 --
var 场景:场景;
Stage {
title: “应用程序标题”
场景:场景=场景{
内容: [
XMigLayout {
width:绑定场景.width;
height:绑定场景.height;
...}]}}
JavaFX 2.0 版本中的 Bind 有所不同。演示如何很好地绑定属性。变量必须设置为 ObservableNumberValue 并使用其 get 和 set 方法。设置完成后,您可以将其绑定到组件的属性。
DoubleProperty x = new SimpleDoubleProperty(0);
x.set(1);
x.getValue();
imageView.xProperty().bind(x);
anchorPane.heightProperty().add(x);
埃里克·布鲁诺的 http://drdobbs.com/blogs/jvm/231903245post 是另一种方法。
scene.widthProperty().addListener(
new ChangeListener() {
public void changed(ObservableValue observable,
Object oldValue, Object newValue) {
Double width = (Double)newValue;
tbl.setPrefWidth(width);
}
});
scene.heightProperty().addListener(
new ChangeListener() {
public void changed(ObservableValue observable,
Object oldValue, Object newValue) {
Double height = (Double)newValue;
tbl.setPrefHeight(height);
}
});
编辑:添加了另一个更合适的答案以及我找到它的位置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)