Binding 在JavaFX2中如何将double数组的值绑定到大量标签

Binding 在JavaFX2中如何将double数组的值绑定到大量标签,binding,javafx,Binding,Javafx,我正在尝试创建一个模拟程序,该程序将计算两名玩家从大量试玩中获得特定组合的次数。目前,我已经使用JavaFX的Scene Builder在一个表中整齐地定位了一组标签,并在我的控制器类中引用了它们的fx:id。每次我运行模拟时,将出现20多个结果中的一个。每次发生某个结果时,我想在适当的标签上加上一个。我还想看到标签上的值随着计算机的计算而更新 目前,我有一个简单的整数数组,用于跟踪结果发生的次数。但是,我无法将该整数数组绑定到标签。我找到的潜在解决方案 int i = 0; Label.tex

我正在尝试创建一个模拟程序,该程序将计算两名玩家从大量试玩中获得特定组合的次数。目前,我已经使用JavaFX的Scene Builder在一个表中整齐地定位了一组标签,并在我的控制器类中引用了它们的fx:id。每次我运行模拟时,将出现20多个结果中的一个。每次发生某个结果时,我想在适当的标签上加上一个。我还想看到标签上的值随着计算机的计算而更新

目前,我有一个简单的整数数组,用于跟踪结果发生的次数。但是,我无法将该整数数组绑定到标签。我找到的潜在解决方案

int i = 0;
Label.textProperty().bind(String.valueOf(i));

似乎不起作用。此外,我尝试过用DoubleProperties和numberbinding做很多事情,但是,老实说,我不知道我在做什么。有没有人能给我解释一下这个问题的简单解决方案,或者为我提供一个JavaFX2中与我的问题相关的绑定参考(我已经阅读了oracle关于绑定的一页教程,但它似乎并不完全相关)

你可以找到基本的装订材料。
对于我认为您正在尝试做的事情,您必须记住您只能绑定属性对象,而不能绑定原语、字符串或任何其他对象

话虽如此,您必须将任何数据包装在适当的属性对象中,例如,如果您希望在标签上显示字符串:

        StringProperty value = new SimpleStringProperty("Hello");
        label.textProperty().bind(value);
然后可以更改特性上的值,标签将更新:

        value.set("Bye");
这适用于字符串,因为标签上的文本是字符串,但如果数据是整数或双精度,则可以使用转换器:

        IntegerProperty value = new SimpleIntegerProperty(10);
        label.textProperty().bindBidirectional(value, new NumberStringConverter());
这同样适用于双打:

        DoubleProperty val = new SimpleDoubleProperty(12.5);
        tipText.textProperty().bindBidirectional(val, new NumberStringConverter());
如果您发现现有转换器都不能满足您的需求,您还可以扩展它们


希望对您有所帮助。

您可以找到基本的装订材料。
对于我认为您正在尝试做的事情,您必须记住您只能绑定属性对象,而不能绑定原语、字符串或任何其他对象

话虽如此,您必须将任何数据包装在适当的属性对象中,例如,如果您希望在标签上显示字符串:

        StringProperty value = new SimpleStringProperty("Hello");
        label.textProperty().bind(value);
然后可以更改特性上的值,标签将更新:

        value.set("Bye");
这适用于字符串,因为标签上的文本是字符串,但如果数据是整数或双精度,则可以使用转换器:

        IntegerProperty value = new SimpleIntegerProperty(10);
        label.textProperty().bindBidirectional(value, new NumberStringConverter());
这同样适用于双打:

        DoubleProperty val = new SimpleDoubleProperty(12.5);
        tipText.textProperty().bindBidirectional(val, new NumberStringConverter());
如果您发现现有转换器都不能满足您的需求,您还可以扩展它们


希望对您有所帮助。

您可以找到基本的装订材料。
对于我认为您正在尝试做的事情,您必须记住您只能绑定属性对象,而不能绑定原语、字符串或任何其他对象

话虽如此,您必须将任何数据包装在适当的属性对象中,例如,如果您希望在标签上显示字符串:

        StringProperty value = new SimpleStringProperty("Hello");
        label.textProperty().bind(value);
然后可以更改特性上的值,标签将更新:

        value.set("Bye");
这适用于字符串,因为标签上的文本是字符串,但如果数据是整数或双精度,则可以使用转换器:

        IntegerProperty value = new SimpleIntegerProperty(10);
        label.textProperty().bindBidirectional(value, new NumberStringConverter());
这同样适用于双打:

        DoubleProperty val = new SimpleDoubleProperty(12.5);
        tipText.textProperty().bindBidirectional(val, new NumberStringConverter());
如果您发现现有转换器都不能满足您的需求,您还可以扩展它们


希望对您有所帮助。

您可以找到基本的装订材料。
对于我认为您正在尝试做的事情,您必须记住您只能绑定属性对象,而不能绑定原语、字符串或任何其他对象

话虽如此,您必须将任何数据包装在适当的属性对象中,例如,如果您希望在标签上显示字符串:

        StringProperty value = new SimpleStringProperty("Hello");
        label.textProperty().bind(value);
然后可以更改特性上的值,标签将更新:

        value.set("Bye");
这适用于字符串,因为标签上的文本是字符串,但如果数据是整数或双精度,则可以使用转换器:

        IntegerProperty value = new SimpleIntegerProperty(10);
        label.textProperty().bindBidirectional(value, new NumberStringConverter());
这同样适用于双打:

        DoubleProperty val = new SimpleDoubleProperty(12.5);
        tipText.textProperty().bindBidirectional(val, new NumberStringConverter());
如果您发现现有转换器都不能满足您的需求,您还可以扩展它们


希望能有所帮助。

需要对属性进行绑定需要对属性进行绑定需要对属性进行绑定需要对属性进行绑定注意,如果不需要双向绑定,这可能对标签没有多大用处,您可以简单地执行
label.textProperty().bind(value.asString());
。请注意,如果您不需要双向绑定(这可能对标签没有多大用处),您可以简单地执行
label.textProperty().bind(value.asString());
。请注意,如果您不需要双向绑定(这可能对标签没有多大用处),您可以简单地执行
label.textProperty().bind(value.asString());
。请注意,如果您不需要双向绑定,而双向绑定对于标签可能没有多大用处,则只需执行
label.textProperty().bind(value.asString());