title: Live update Pie Chart
body: <p>I want to create very useful and easy way to live update Pie chart. For example:</p>
  
  <pre><code>import javafx.application.Application;
  import javafx.collections.FXCollections;
  import javafx.collections.ObservableList;
  import javafx.event.EventHandler;
  import javafx.scene.Group;
  import javafx.scene.Scene;
  import javafx.scene.chart.PieChart;
  import javafx.scene.control.Label;
  import javafx.scene.input.MouseEvent;
  import javafx.scene.paint.Color;
  import javafx.stage.Stage;
  
  
  public class MainApp extends Application {
  
      @Override
      public void start(Stage stage) {
          Scene scene = new Scene(new Group());
          stage.setTitle("Imported Fruits");
          stage.setWidth(500);
          stage.setHeight(500);
  
          ObservableList&lt;PieChart.Data&gt; pieChartData =
                  FXCollections.observableArrayList(
                  new PieChart.Data("Grapefruit", 13),
                  new PieChart.Data("Oranges", 25),
                  new PieChart.Data("Plums", 10),
                  new PieChart.Data("Pears", 22),
                  new PieChart.Data("Apples", 30));
  
          final PieChart chart = new PieChart(pieChartData);
          chart.setTitle("Imported Fruits");
          final Label caption = new Label("");
          caption.setTextFill(Color.DARKORANGE);
          caption.setStyle("-fx-font: 24 arial;");
  
          for (final PieChart.Data data : chart.getData()) {
              data.getNode().addEventHandler(MouseEvent.MOUSE_PRESSED,
                      new EventHandler&lt;MouseEvent&gt;() {
                          @Override public void handle(MouseEvent e) {
                              caption.setTranslateX(e.getSceneX());
                              caption.setTranslateY(e.getSceneY());
                              caption.setText(String.valueOf(data.getPieValue())
                                  + "%");
                          }
                      });
          }
  
          ((Group) scene.getRoot()).getChildren().addAll(chart, caption);
          stage.setScene(scene);
          stage.show();
      }
  
      public static void main(String[] args) {
          launch(args);
      }
  }
  </code></pre>
  
  <p>When I display the chart I want to call Java Method and update the chart like this:</p>
  
  <pre><code>PieChartUpdate(valueOne, valueTwo, valueThree);
  </code></pre>
  
  <p>Can you show me how I can edit the code in order to make the live updates more easy to use?</p>