JavaFX将标签textProperty绑定到多个属性更改

时间:2017-01-10 14:44:11

标签: java javafx binding

我想做的是:

我有一个JavaFX窗口,我不断更改它的宽度和高度,方法是拖动corners or the sidesI want when the width or height are changing然后将Label的文本拖动到以下格式:< / p>

~Width=[here the width of the Window],Height[here the height of the Window]~

示例:

~Width=[1300],Height=[600]~

我想使用绑定而不是使用2(2)ChangeListeners 来执行此操作。

                                   I am trying:

label.textProperty().bind(I am stack here on how to do this...);

我还读过这个问题JavaFX bind to multiple properties

2 个答案:

答案 0 :(得分:4)

只需将Bindings.createStringBindingwidth用作height作为依赖项:

StringBinding binding = Bindings.createStringBinding(
            () -> MessageFormat.format("~Width=[{0}],Height=[{1}]~", primaryStage.getWidth(), primaryStage.getHeight()),
            primaryStage.widthProperty(),
            primaryStage.heightProperty());

label.textProperty().bind(binding);

答案 1 :(得分:1)

我认为最简单的方法是使用更改侦听器,并手动查询with / height值。像

<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<script>
var a = [];

var myMethod = function() {
    $.ajax({
        url: "numbers.json",
        dataType: "json",
        success: function(data) {
            for (i in data) {
                a.push(data[i].name);
            }
            handleData();
        }
    });
}

function handleData() {
    console.log(a[2]);
}

myMethod();
</script>