如何在kotlin的JavaFX图表中添加一个系列
说我有一个系列:
val series: XYChart.Series = XYChart.Series() series.data.addAll(myData.map { pair -> XYChart.Data(pair.key, pair.value) })
现在我想创建一个折线图如下:
val xAxis = NumberAxis() val yAxis = NumberAxis() val lineChart = LineChart(xAxis, yAxis) lineChart.data.add(series)
但是,当我这样做,我得到以下错误:
Error:(xx, xx) Kotlin: Type mismatch: inferred type is XYChart.Series but XYChart.Series! was expected
有没有办法解决这个问题,而不改变myMap
的键和值types为Number
(哪些工作)? 对于我来说, Int
和Long
都是从Number
inheritance的,所以在这里应该没有任何问题。
理想情况下,我希望能够映射一个数据集(在本例中为myData
),而不必实际修改数据集本身或者使用正确的types(看起来很昂贵)制作数据集的副本。
有人可能也可以解释为什么linChart.data.add(series)
期望XYChart.Series!
,或者更具体地说,为什么我会得到一个错误,如果它期望这个? 因为我感到我传递的是无关紧要的印象!
意味着你可以通过任何事情; 要么是一个可能为null
的序列,要么是一个显式不为null
的序列。
- 连续动画在TornadoFX?
- TornadoFX JavaFX Sync跨桌面浏览
- Tornadofx tableview使用组合框和按钮上添加FXEvent
- java.lang.ClassNotFoundException:未在路径中找到类“com.my.app.example.Main”:DexPathList
- 在gradle应用程序中找不到ant-javafx
- tornadofx EventBus使用tableview对象展开表格行
- Kotlin和TornadoFX:将一个可观察的属性绑定到一个集合函数?
- 方便地确认kotlin中的javafx对话框
- java.awt.HeadlessException从Kotlin REPL启动JavaFX应用程序