Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何刷新可观察数组列表中的数据?_Java_Arrays_List_Arraylist_Observablecollection - Fatal编程技术网

Java 如何刷新可观察数组列表中的数据?

Java 如何刷新可观察数组列表中的数据?,java,arrays,list,arraylist,observablecollection,Java,Arrays,List,Arraylist,Observablecollection,我在public类中创建了多个可观察数组列表 ObservableList<PieChart.Data> q1ChartData = FXCollections.observableArrayList( new PieChart.Data("Strongly Agree", s1sa), new PieChart.Data("Agre

我在public类中创建了多个可观察数组列表

ObservableList<PieChart.Data> q1ChartData =
                    FXCollections.observableArrayList(
                            new PieChart.Data("Strongly Agree", s1sa),
                            new PieChart.Data("Agree", s1a),
                            new PieChart.Data("Neither", s1naod),
                            new PieChart.Data("Disagree", s1d),
                            new PieChart.Data("Strongly Disagree", s1sd));
其中s1sa、s1a、s1naod等是从用户输入不断变化的整数。然后,我想使用此数据创建饼图,但当我使用事件处理程序执行此操作时,当按下按钮时,数据仍然为0。是否有刷新数组列表的方法,或者有其他方法可以做到这一点?
非常感谢

我没有看到PieChart。接受整数的数据构造函数

建造商应:

PieChart.Data(java.lang.String name, double value)
我想你所描述的是一个绑定,如果我理解你想要什么的话。在这种情况下,您需要稍微更改变量的类型。如果您仍然希望它们表示整数,那么应该如下所示

    IntegerProperty s1sa = new SimpleIntegerProperty(1);

    PieChart.Data data = new PieChart.Data("Strongly Agree", s1sa.doubleValue());

    data.pieValueProperty().bind(s1sa);
通过这种方式绑定,对s1sa的任何更改都将自动更新您的数据


有关绑定的更多信息:

为了通过通知事件进行更新,您需要使用JavaFXbean约定定义数据模型,即使用setter、getter和属性访问器。你用PieChart.Data做过这个吗?