Galera boa tarde, eu sei que JavaFX não é muito utilizado no mercado e tals, porém eu achei legal e quis aprender, estava precisando fazer um projeto pessoal e unir uma coisa a outra, estava tudo bem até eu me deparar com um problema, preciso criar um dashboard com alguns gráficos e quando tento utilizar esses gráficos através de chamada de um Scene recebo um NullPointerException, porém se eu crio um novo Scene, e inicio no Main diretamente o chart abre normal, quem puder ajudar fico agradecido, segue o codigo.
DashboardControler
package com.sertfx.viewsControler;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.XYChart;
import javafx.scene.layout.GridPane;
public class DashboardControler implements Initializable{
@FXML
LineChart<Number, Number> chart1;
@FXML
GridPane grid;
@Override
public void initialize(URL location, ResourceBundle resources) {
XYChart.Series<Number, Number> series1 = new XYChart.Series<>();
series1.setName("Series 1");
series1.getData().add(new XYChart.Data<>(1, 20));
series1.getData().add(new XYChart.Data<>(2, 100));
series1.getData().add(new XYChart.Data<>(3, 80));
series1.getData().add(new XYChart.Data<>(4, 180));
series1.getData().add(new XYChart.Data<>(5, 20));
series1.getData().add(new XYChart.Data<>(6, -10));
chart1.getData().add(series1);
grid.getChildren().add(chart1);
}
}
Dashboard.fxml
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.chart.CategoryAxis?>
<?import javafx.scene.chart.LineChart?>
<?import javafx.scene.chart.NumberAxis?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.RowConstraints?>
<GridPane fx:id="grid" alignment="center" hgap="10" vgap="10" xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.sertfx.viewsControler.DashboardControler">
<columnConstraints>
<ColumnConstraints />
</columnConstraints>
<rowConstraints>
<RowConstraints />
</rowConstraints>
<children>
<BorderPane prefHeight="298.0" prefWidth="356.0">
<center>
<LineChart fx:id="chart1" title="Chart Test" BorderPane.alignment="CENTER">
<xAxis>
<NumberAxis side="BOTTOM" />
</xAxis>
<yAxis>
<NumberAxis side="LEFT" />
</yAxis>
</LineChart>
</center>
</BorderPane>
</children>
</GridPane>
E com esse código temos o erro
Caused by: java.lang.NullPointerException
at com.sertfx.viewsControler.DashboardControler.initialize(DashboardControler.java:33)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
... 74 more