首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在JavaFX中动态/即时调整大小

在JavaFX中动态/即时调整大小
EN

Stack Overflow用户
提问于 2010-08-03 04:12:30
回答 4查看 20.7K关注 0票数 2

如何创建(即时)动态调整大小的JavaFX应用程序?现在,我已经编写了一个简单的应用程序,它可以动态地调整大小,但是布局的更改直到鼠标按键释放后才会显示出来。我希望在此按钮释放之前立即看到结果/布局更改。

我假设这是通过将正确的值/控件与逆向绑定来完成的。任何帮助都是最好的!

编辑:

以下是我是如何让事情运行起来的(感谢Praeus)。正如他所说的,我必须将我的顶级容器/布局宽度和高度绑定到scene.width和scene.height。--

变量场景:场景;

阶段{

标题:“应用程序标题”

代码语言:javascript
复制
 scene: scene = Scene {
代码语言:javascript
复制
     content: [
代码语言:javascript
复制
         XMigLayout {

宽度:绑定scene.width;

高度:绑定scene.height;

...}]}}

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-08-04 04:18:16

实际上,如果您已经将所有内容都组织到布局中,那么您可能只需要将顶级布局容器的宽度和高度绑定到scene.width和scene.height。我不认为顶级布局控件是由任何东西管理的,所以直接设置布局控件的宽度和高度可能是安全的。如果这不起作用,那么您可能成功地绑定了layoutInfo的宽度和高度。

理想情况下,您希望在求助于绑定之前使用布局管理。过多的绑定可能会造成性能问题,并且在调整大小时可能会导致重绘速度变慢。在这种情况下,您可能只需要对顶级容器使用绑定,然后顶级容器的所有子容器都应该相应地调整大小。至少我认为这应该行得通。

票数 3
EN

Stack Overflow用户

发布于 2012-02-28 06:07:42

Bind在JavaFX的2.0版本中有所不同。Angela Caicedo's video演示了如何很好地绑定属性。必须将变量设置为ObservableNumberValue,并使用其get和set方法。设置完成后,您可以将其绑定到组件的属性。

代码语言:javascript
复制
DoubleProperty x = new SimpleDoubleProperty(0);
x.set(1);
x.getValue();
imageView.xProperty().bind(x);
anchorPane.heightProperty().add(x);

Eric Bruno's post是另一种方式。

代码语言:javascript
复制
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);
        }
    });

编辑:添加了另一个更合适的答案,以及我找到它的地方。

票数 4
EN

Stack Overflow用户

发布于 2010-08-04 02:43:04

是的,我认为你的想法是正确的--绑定是你想要做的事情的明显方式。您还可以查看触发器。

如果您还没有阅读1.3 guide to layouts,请阅读它作为起点

布局容器自动管理其内容节点的动态布局行为。但是,通常也希望使用JavaFX脚本的绑定机制来建立布局的某些动态方面。例如,可以将HBox容器的宽度和高度绑定到场景高度和宽度,以便每当场景调整大小时,HBox容器也会调整大小。

JavaFX布局大师Amy Fowler撰写的文章和博客文章也可能值得一读

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3391373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档