2016-12-10 2 views
0

Я хочу просто отобразить некоторые данные в круговой диаграмме с помощью javafx.Javafx piechart не показывает никаких данных

Я создал простой FXML файл:

<?xml version="1.0" encoding="UTF-8"?> 
<?import javafx.scene.chart.PieChart?> 
<?import javafx.scene.layout.AnchorPane?> 

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1"> 
    <children> 
     <PieChart fx:id="pieChart" layoutX="50.0" layoutY="100.0" /> 
    </children> 
</AnchorPane> 

И мой контроллер:

public class Controller { 
    @FXML 
    private PieChart pieChart; 

    public void initialize() { 
     System.out.println("I'm getting here."); 
     ObservableList<PieChart.Data> pieChartData = 
       FXCollections.observableArrayList(
         new PieChart.Data("Executed", 60), 
         new PieChart.Data("Passed", 25), 
         new PieChart.Data("Fails", 15)); 

     pieChart.setData(pieChartData); 
    } 
} 

Но когда я запускаю приложение круговая диаграмма ничего не показывает ...

Любые идеи, почему это не работает?

ответ

1

Ваш код правильный, за исключением того, что вы забыли определить контроллер в файле FXML:

fx:controller="yourController" 

И не забывайте о реализации.

+0

странно, что я указал контроллер в моей главной с помощью fxmlLoader.setController (myController); и метод инициализации получил вызванный , но добавление контроллера к FXML исправил его благодаря! – nauti

Смежные вопросы