Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javafxml中mysql的面积图_Java_Mysql_Intellij Idea_Javafx - Fatal编程技术网

javafxml中mysql的面积图

javafxml中mysql的面积图,java,mysql,intellij-idea,javafx,Java,Mysql,Intellij Idea,Javafx,我正在尝试在Intellij平台上使用MySQL数据库创建面积图。 我想在mysql数据库的面积图中显示大气数据。 这是面积图方法代码: AreaChart areaChart; public void contAreaTabM(Event event) throws ClassNotFoundException, SQLException, ClassCastException { //ObservableList<XYChart.Series<Integer, Doub

我正在尝试在Intellij平台上使用MySQL数据库创建面积图。 我想在mysql数据库的面积图中显示大气数据。 这是面积图方法代码:

AreaChart areaChart;
public void contAreaTabM(Event event) throws ClassNotFoundException, SQLException, ClassCastException {

    //ObservableList<XYChart.Series<Integer, Double>> answer = FXCollections.observableArrayList();
    XYChart.Series<Integer, Double> temperature = new XYChart.Series<>();
    XYChart.Series<Integer, Double> pressure = new XYChart.Series<>();
    XYChart.Series<Integer, Double> humidity = new XYChart.Series<>();
    temperature.setName("Temperature");
    pressure.setName("Pressure");
    humidity.setName("Humidity");

    Class.forName("com.mysql.jdbc.Driver");
    Connection con= DriverManager.getConnection("jdbc:mysql://localhost/test","root","");
    //PreparedStatement pst=con.prepareStatement("Select Username, Password from login where username = ?");
    String query = "Select Year_1, Temperature, Pressure, Humidity FROM atomdata";
    Statement stmt = con.createStatement();

    //pst.setString(1, editUsername.getText());
    ResultSet rs = stmt.executeQuery(query);
    while(rs.next()) {
            temperature.getData().add(new XYChart.Data<>(rs.getInt("Year_1"), rs.getDouble("Temperature")));
            pressure.getData().add(new XYChart.Data<>(rs.getInt("Year_1"), rs.getDouble("Pressure")));
            humidity.getData().add(new XYChart.Data<>(rs.getInt("Year_1"), rs.getDouble("Humidity")));
    }
    //answer.addAll(Temperature, Pressure, Humidity);
    areaChart.getData().addAll(temperature, pressure, humidity);
}

首先,最好添加完整的代码片段,以便更好地理解您的问题

根据您的例外情况:

Exception in thread "JavaFX Application Thread" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at javafx.scene.chart.CategoryAxis.calculateRequiredSize(CategoryAxis.java:378)
at javafx.scene.chart.CategoryAxis.autoRange(CategoryAxis.java:363)
at javafx.scene.chart.Axis.computePrefHeight(Axis.java:577)
您正在使用CategoryAxis作为图表的X轴,该图表用于字符串表示,并且您正在尝试向其添加整数值,因此您产生了强制转换异常

可能您需要做的是根据您的逻辑将rs.getInt(“Year_1”)解析为字符串

您可以按照Oracle图表教程示例进行操作:

首先,最好添加完整的代码片段,以便更好地理解您的问题

根据您的例外情况:

Exception in thread "JavaFX Application Thread" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at javafx.scene.chart.CategoryAxis.calculateRequiredSize(CategoryAxis.java:378)
at javafx.scene.chart.CategoryAxis.autoRange(CategoryAxis.java:363)
at javafx.scene.chart.Axis.computePrefHeight(Axis.java:577)
您正在使用CategoryAxis作为图表的X轴,该图表用于字符串表示,并且您正在尝试向其添加整数值,因此您产生了强制转换异常

可能您需要做的是根据您的逻辑将rs.getInt(“Year_1”)解析为字符串

您可以按照Oracle图表教程示例进行操作:

请添加行号,或突出显示导致错误的行。没有突出显示行。显示错误请添加行号,或突出显示导致错误的行。没有突出显示行。这表明你的建议是错误的。我把整数改成了字符串,代码运行得很好。谢谢你的建议。我已经把整数改成了字符串,代码运行得很好。