如何在Scala FXML控制器中设置线性图?
我正在尝试构建一个显示线性图表的ScalaFX应用程序 我已将折线图控制器成员定义为如何在Scala FXML控制器中设置线性图?,scala,scalafx,Scala,Scalafx,我正在尝试构建一个显示线性图表的ScalaFX应用程序 我已将折线图控制器成员定义为 @javafx.fxml.FXML private val lineChart: XYChart = _ 我正试图用 val data = ObservableBuffer(Seq( (1, 23), (2, 14), (3, 15) ) map {case (x, y) => XYChart.Data[Number, Number](x, y).delegate} ) val serie
@javafx.fxml.FXML
private val lineChart: XYChart = _
我正试图用
val data = ObservableBuffer(Seq(
(1, 23),
(2, 14),
(3, 15)
) map {case (x, y) => XYChart.Data[Number, Number](x, y).delegate} )
val series = XYChart.Series[Number, Number]("My series", data)
lineChart.data.set(series)
但这里有两个错误:
第一个想法突出显示了“系列”(在lineChart.data.set(series)
中)并表示“类型不匹配,预期:ObservableList[XYChart.series[X,Y]],实际XYChart.series[Number,Number]”
第二,当我尝试构建时,我得到了“未绑定占位符参数private val lineChart:XYChart="错误
有什么建议吗?
^我自己找到了答案,让我把它们分享给可能有同样问题的任何人
- 使用
,而不是var
val
- 使用折线图类型,而不是XYChart
- 指定图表轴类型
- 使用
,而不是javafx.scene.chart.LineChart
(如果有人能建议使用scalafx的正确方法,那就太好了)scalafx.scene.chart.LineChart
private val lineChart: XYChart = _
对:
private var lineChart: LineChart[Number, Number] = _
- 使用
,而不是lineChart.getData.add(系列)
lineChart.data.set(系列)
- 将
设置为FXML代码中的控制器全名(不是由场景设计器添加的)fx:controller