/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package nl.fontys.sofa.limo.view.graphs; import javafx.application.Platform; import javafx.embed.swing.JFXPanel; import javafx.scene.Scene; import javafx.scene.chart.PieChart; import javax.swing.JPanel; /** * * @author nilsh */ public class PieChartComponent<T extends AbstractLimoTableModel> { private final T tableModel; private final JFXPanel chartFxPanel; private PieChart chart; private JPanel parent; public PieChartComponent(T tableModel) { this.tableModel = tableModel; chartFxPanel = new JFXPanel(); } public void init(JPanel parent, Object constrain) { Platform.runLater(() -> { createChart(); }); parent.add(chartFxPanel, constrain); this.parent = parent; } public void updateData() { chart.setData(tableModel.getPieChartData()); } public void remove() { parent.remove(chartFxPanel); } private void createChart() { chart = new PieChart(tableModel.getPieChartData()); chartFxPanel.setScene(new Scene(chart)); } }