如何在 JavaFX 中将 X、Y 数据类型转换为双精度值?
How to convert X, Y data-types to double value in JavaFX?
我正在使用 JavaFX,我正在创建一个通用的折线图,它可以将 "String" 或 "Number" 数据类型接收到 Axis,但我遇到了数据类型 X 的问题,我正在使用 Y,因为在向图表添加数据的方法中,我有两个通用参数 X 和 Y,我需要将 "Y" 转换为 "double",因为当我使用此方法时,Y 参数是一个 "double" 值,但我无法再次将 "Y" 值转换为 "double"。
添加数据的方法是:
public void addData(final String idSeries, final X x, final Y y, String kindOfSymbol) {
//valido que exista la serie
boolean seriesExist = seriesMap.containsKey(idSeries);
//obtengo el index de la serie, como fue almacenada en la grafica
Integer indexSerie = seriesMap.get(idSeries);
if (seriesExist) {
Platform.runLater(() - > {
XYChart.Series < X, Y > currentSeries = null;
currentSeries = chart.getData().get(indexSerie.intValue());
int lastNodePosition = currentSeries.getData().size() - 1;
XYChart.Data < X, Y > point = new XYChart.Data < > (x, y);
//The problem is here when I try to convert "Y" to "double" because the object JFXStackPaneSymbol require the double and Dimension parameters
point.setNode(new JFXStackPaneSymbol(y, new Dimension(15, 15)));
currentSeries.getData().add(point);
currentSeries.getData().get(lastNodePosition).getNode().setStyle(kindOfSymbol);
});
}
}
方法调用是:
lineChart.addData(Constants.ID_LINE_SERIE, xAxisUnit++, value, tempSymbol);
//Constants.ID_LINE_SERIE = String
//xAxisUnit++ = double
//value = double
//tempSymbol = String
非常感谢您的帮助。
解决方法是:
Double.parseDouble(y.toString())
在代码中是:
point.setNode(new JFXStackPaneSymbol(Double.parseDouble(y.toString()), new Dimension(15, 15)));
我正在使用 JavaFX,我正在创建一个通用的折线图,它可以将 "String" 或 "Number" 数据类型接收到 Axis,但我遇到了数据类型 X 的问题,我正在使用 Y,因为在向图表添加数据的方法中,我有两个通用参数 X 和 Y,我需要将 "Y" 转换为 "double",因为当我使用此方法时,Y 参数是一个 "double" 值,但我无法再次将 "Y" 值转换为 "double"。
添加数据的方法是:
public void addData(final String idSeries, final X x, final Y y, String kindOfSymbol) {
//valido que exista la serie
boolean seriesExist = seriesMap.containsKey(idSeries);
//obtengo el index de la serie, como fue almacenada en la grafica
Integer indexSerie = seriesMap.get(idSeries);
if (seriesExist) {
Platform.runLater(() - > {
XYChart.Series < X, Y > currentSeries = null;
currentSeries = chart.getData().get(indexSerie.intValue());
int lastNodePosition = currentSeries.getData().size() - 1;
XYChart.Data < X, Y > point = new XYChart.Data < > (x, y);
//The problem is here when I try to convert "Y" to "double" because the object JFXStackPaneSymbol require the double and Dimension parameters
point.setNode(new JFXStackPaneSymbol(y, new Dimension(15, 15)));
currentSeries.getData().add(point);
currentSeries.getData().get(lastNodePosition).getNode().setStyle(kindOfSymbol);
});
}
}
方法调用是:
lineChart.addData(Constants.ID_LINE_SERIE, xAxisUnit++, value, tempSymbol);
//Constants.ID_LINE_SERIE = String
//xAxisUnit++ = double
//value = double
//tempSymbol = String
非常感谢您的帮助。
解决方法是:
Double.parseDouble(y.toString())
在代码中是:
point.setNode(new JFXStackPaneSymbol(Double.parseDouble(y.toString()), new Dimension(15, 15)));