我在公共类中创建了多个可观察的数组列表。
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.无论如何刷新数组列表或者我可以使用不同的方式? 非常感谢你
答案 0 :(得分:0)
我没有看到接受整数的PieChart.Data构造函数......
构造函数应该是:
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的任何更改都将自动更新您的数据。
有关绑定的更多信息:http://docs.oracle.com/javafx/2/binding/jfxpub-binding.htm