Java 如何刷新可观察数组列表中的数据?
我在public类中创建了多个可观察数组列表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
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做过这个吗?