public WeightCoverageChart() {
   weightA.addListener(
       new ChangeListener<Number>() {
         @Override
         public void changed(
             ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
           pieData.set(
               0,
               new PieChart.Data("A " + weightA.doubleValue() + "kgs", (weightA.doubleValue())));
         }
       });
   weightB.addListener(
       new ChangeListener<Number>() {
         @Override
         public void changed(
             ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
           pieData.set(1, new PieChart.Data("B", (weightB.doubleValue())));
         }
       });
   weightC.addListener(
       new ChangeListener<Number>() {
         @Override
         public void changed(
             ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
           pieData.set(2, new PieChart.Data("C", (weightC.doubleValue())));
         }
       });
   weightD.addListener(
       new ChangeListener<Number>() {
         @Override
         public void changed(
             ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
           pieData.set(3, new PieChart.Data("D", (weightD.doubleValue())));
         }
       });
   weightE.addListener(
       new ChangeListener<Number>() {
         @Override
         public void changed(
             ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
           pieData.set(4, new PieChart.Data("E", (weightE.doubleValue())));
         }
       });
   weightF.addListener(
       new ChangeListener<Number>() {
         @Override
         public void changed(
             ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
           pieData.set(5, new PieChart.Data("F", (weightF.doubleValue())));
         }
       });
   weightG.addListener(
       new ChangeListener<Number>() {
         @Override
         public void changed(
             ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
           pieData.set(6, new PieChart.Data("G", (weightG.doubleValue())));
         }
       });
   weightH.addListener(
       new ChangeListener<Number>() {
         @Override
         public void changed(
             ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
           pieData.set(7, new PieChart.Data("H", (weightH.doubleValue())));
         }
       });
   weightI.addListener(
       new ChangeListener<Number>() {
         @Override
         public void changed(
             ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
           pieData.set(8, new PieChart.Data("I", (weightI.doubleValue())));
         }
       });
   this.setCache(true);
   pie.setData(pieData);
   Rectangle pieBG =
       RectangleBuilder.create()
           .cache(true)
           .x(pie.getTranslateX() + 127)
           .y(pie.getTranslateY() + 84)
           .fill(Color.rgb(50, 50, 50))
           .id("envelopeBG")
           .width(265)
           .height(245)
           .arcWidth(5)
           .arcHeight(5)
           .build();
   Group group = new Group();
   group.getChildren().addAll(pieBG, pie);
   getChildren().add(group);
 }