Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8096995

[axis] tick label fill doesn't affect for existing labels

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P4
    • Resolution: Cannot Reproduce
    • Affects Version/s: 7u6
    • Fix Version/s: 8u20
    • Component/s: javafx
    • Environment:

      2.2.0b14

      Description

      You may see on the attached movie, that I've changed fill (to red color, actually), and started to change upper bound. You can see, that fill is applied only to the newly created labels.

      Code:


      import java.util.Arrays;
      import java.util.Comparator;
      import java.util.Random;
      import javafx.application.Application;
      import javafx.collections.FXCollections;
      import javafx.collections.ObservableList;
      import javafx.event.ActionEvent;
      import javafx.event.EventHandler;
      import javafx.scene.Scene;
      import javafx.scene.chart.LineChart;
      import javafx.scene.chart.NumberAxis;
      import javafx.scene.chart.XYChart;
      import javafx.scene.control.Button;
      import javafx.scene.control.Slider;
      import javafx.scene.layout.Pane;
      import javafx.scene.layout.VBox;
      import javafx.scene.paint.Color;
      import javafx.stage.Stage;

      public class JavaCharts extends Application {
          
          public static void main(String[] args) {
              launch(args);
          }
          NumberAxis axis1 = new NumberAxis(0, 100, 10);
          NumberAxis axis2 = new NumberAxis(0, 100, 10);
          LineChart testedLineChart = new LineChart(axis1, axis2);
          VBox vb = new VBox();
          
          @Override
          public void start(Stage stage) throws Exception {
              testedLineChart.setTitle("LineChart");
              testedLineChart.setStyle("-fx-border-color: darkgray;");
              
              ObservableList list = FXCollections.observableArrayList();
              int max = 100;
              int min = 30;
              
              for (int i = 0; i < 30; i++) {
                  XYChart.Data newData = new XYChart.Data();
                  newData.setXValue(new Random().nextDouble() * (max - min) + min);
                  newData.setYValue(new Random().nextDouble() * (max - min) + min);
                  list.add(newData);
              }
              Object[] array = list.toArray();
              Arrays.sort(array, new Comparator() {
                  
                  @Override
                  public int compare(Object t, Object t1) {
                      return (int) Math.round(((Double) ((XYChart.Data) t).getXValue()) - ((Double) ((XYChart.Data) t1).getXValue()));
                  }
              });
              
              XYChart.Series serie = new XYChart.Series("serie", FXCollections.observableArrayList(array));
              
              testedLineChart.getData().add(serie);
              testedLineChart.setAlternativeColumnFillVisible(true);
              testedLineChart.setAlternativeRowFillVisible(true);
              
              Pane pane = new Pane();
              pane.setPrefSize(600, 600);
              
              Slider slider = new Slider(0, 600, 0);
              slider.valueProperty().bindBidirectional(axis2.upperBoundProperty());
              
              Button button = new Button("click me");
              button.setOnAction(new EventHandler<ActionEvent>() {
                  
                  @Override
                  public void handle(ActionEvent t) {
                      axis2.setTickLabelFill(Color.RED);
                  }
              });
              
              pane.setPrefSize(600, 600);
              pane.getChildren().add(testedLineChart);
              
              vb.getChildren().addAll(pane, slider, button);
              
              Scene scene = new Scene(vb, 700, 700);
              stage.setScene(scene);
              stage.show();
          }
      }


      Click button and start to move slider leftward and rightward.

        Attachments

          Activity

            People

            Assignee:
            jgiles Jonathan Giles
            Reporter:
            akirov Alexander Kirov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Imported: