使用NumberAxis将java.lang.Number转换为带有javafx和scala的DoubleAxis()
我试图用javafx和scala制作一个折线图,但在将数字转换为双精度时遇到了一些问题使用NumberAxis将java.lang.Number转换为带有javafx和scala的DoubleAxis(),scala,charts,type-conversion,javafx-2,numeric,Scala,Charts,Type Conversion,Javafx 2,Numeric,我试图用javafx和scala制作一个折线图,但在将数字转换为双精度时遇到了一些问题 //Type mistmatch new LineChart[Double,Double](xAxis, yAxis) 我的问题是,NumberAxis扩展了Number(java.lang.Number) 您还可以在此处看到api: 在我的程序中,我想创建一个新的折线图[Double,Double]而不是折线图[Number,Number],因此我的转换问题是,折线图无法将NumberAxis转换为Dou
//Type mistmatch
new LineChart[Double,Double](xAxis, yAxis)
我的问题是,NumberAxis
扩展了Number(java.lang.Number)
您还可以在此处看到api:
在我的程序中,我想创建一个新的折线图[Double,Double]
而不是折线图[Number,Number]
,因此我的转换问题是,折线图
无法将NumberAxis
转换为Double
//Type mistmatch
new LineChart[Double,Double](xAxis, yAxis)
是否可以定义一个双轴
?或IntAxis
相反,我使用java.lang.Number
类型创建了我所有的XYChart
:
val xAxis = new NumberAxis()
val yAxis = new NumberAxis()
val linechart = new LineChart[Number, Number] (xAxis, yAxis)
val mySeries = new XYChart.Series[Number, Number]()
// here you can the implicit conversion between Number and Double,
// not bad, but i don't know how the conversion is made ... :/
val myData: XYChart.Data[Number, Number] = new XYChart.Data(1.0, 2.0)
mySeries.getData().add(myData)
linechart.getData().add(mySeries)
你认为在scala中有更好的方法吗 这可能是scala.Double和java.lang.Double的问题。你试过新的折线图[java.lang.Double,java.lang.Double]吗?不工作,没有构造函数:/LineChart采用
(Axis,Axis)
,但是NumberAxis扩展Axis
我在这里有同样的问题,我没有想到其他解决方案Number
是一个由java中的原语包装器扩展的抽象类
。我假设scala在封面下进行了从scala.Double
到java.lang.Double
的转换,但我没有进一步研究。下面是NumberAxis
的代码,因此您可以看到创建DoubleAxis
需要做什么:我想您可以传递一个通用的Axis
,缺点是您失去了NumberAxis