2015-09-07 45 views
0

我正在使用JavaFX,我正在创建一个可以接收“字符串”或“数字”数据类型到Axis的泛型LineChart,但是我使用的数据类型是X,Y在向图表添加数据的方法中,我有两个通用参数X和Y,并且我需要将“Y”转换为“double”,因为当我使用此方法时,Y参数是“double”值,但我不能再次将“Y”值转换为“double”。如何将X,Y数据类型转换为JavaFX中的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 

非常感谢您的帮助。

+0

你能证明与声明? –

+0

声明? – Raul

+0

编辑:类声明,类型X,Y等 –

回答

0

解决的办法是:

Double.parseDouble(y.toString())

中的代码是:

point.setNode(new JFXStackPaneSymbol(Double.parseDouble(y.toString()), new Dimension(15, 15))); 
相关问题