Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.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
如何在Scala FXML控制器中设置线性图?_Scala_Scalafx - Fatal编程技术网

如何在Scala FXML控制器中设置线性图?

如何在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

我正在尝试构建一个显示线性图表的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 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.scene.chart.LineChart
    (如果有人能建议使用scalafx的正确方法,那就太好了)

错:

private val lineChart: XYChart = _
对:

private var lineChart: LineChart[Number, Number] = _
  • 使用
    lineChart.getData.add(系列)
    ,而不是
    lineChart.data.set(系列)

  • fx:controller
    设置为FXML代码中的控制器全名(不是由场景设计器添加的)

它的工作正如预期的那样