首页 > 解决方案 > JavaFX 绘制 LinexChart

问题描述

我正在尝试学习如何使用 JavaFX 绘制图形,并且在我的代码中我试图绘制非常简单的 sin 系列:

public class Controller implements Initializable {

   final NumberAxis xAxis = new NumberAxis();
   final NumberAxis yAxis = new NumberAxis();

   @FXML
   private LineChart<Number, Number> ExactChart = new LineChart<Number, Number>(xAxis, yAxis);

   private Series sin_series = new Series();


   @FXML
   private void plotTheChart(ActionEvent event){
       int N = 100;
       double x0 = -Math.PI;
       double X = Math.PI;
       double h = (X-x0)/(N);
       double[] x = new double[N];
       double[] y = new double[N];

       x[0] = x0;
       for(int i = 1; i < N; i++){
           x[i] = x[i-1] + h;
       }

       for(int i = 0; i < N; i++){
           y[i] = Math.sin(x[i]);
       }
       sin_series.setName("sin");

       for(int i = 0; i < N; i++){
           sin_series.getData().add(new Data(x[i], y[i]));
       }
       ExactChart.getData().addAll(sin_series);
   }

   @Override
   public void initialize(URL url, ResourceBundle resourceBundle) {

   }
}

但是当我执行它时,我面临以下问题:

线程“JavaFX 应用程序线程”java.lang.ClassCastException 中的异常:类 java.lang.Double 无法转换为类 java.lang.String(java.lang.Double 和 java.lang.String 在加载程序的模块 java.base 中'引导')

我看不到代码的任何部分我将双重转换为字符串。你能告诉我我哪里错了吗?

标签: javafx

解决方案


推荐阅读