< prev index next >

modules/controls/src/main/java/javafx/scene/chart/StackedAreaChart.java

Print this page
rev 8907 : RT-46086: StackedAreaChart doesn't fade out removed series

*** 387,427 **** @Override protected void seriesRemoved(final Series<X,Y> series) { // remove series Y multiplier seriesYMultiplierMap.remove(series); // remove all symbol nodes if (shouldAnimate()) { ! // create list of all nodes we need to fade out ! final List<Node> nodes = new ArrayList<Node>(); ! nodes.add(series.getNode()); ! for (Data<X,Y> d: series.getData()) nodes.add(d.getNode()); ! // fade out old and symbols ! if (getCreateSymbols()) { ! KeyValue[] startValues = new KeyValue[nodes.size()]; ! KeyValue[] endValues = new KeyValue[nodes.size()]; ! for (int j=0; j < nodes.size(); j++) { ! startValues[j] = new KeyValue(nodes.get(j).opacityProperty(),1); ! endValues[j] = new KeyValue(nodes.get(j).opacityProperty(),0); ! } ! Timeline tl = new Timeline(); ! tl.getKeyFrames().addAll( ! new KeyFrame(Duration.ZERO,startValues), ! new KeyFrame(Duration.millis(400), actionEvent -> { ! getPlotChildren().removeAll(nodes); ! removeSeriesFromDisplay(series); ! },endValues) ! ); ! tl.play(); ! } else { ! Timeline tl = new Timeline(); ! tl.getKeyFrames().addAll( ! new KeyFrame(Duration.millis(400), actionEvent -> { ! getPlotChildren().removeAll(nodes); ! removeSeriesFromDisplay(series); ! }) ! ); tl.play(); - } } else { getPlotChildren().remove(series.getNode()); for (Data<X,Y> d:series.getData()) getPlotChildren().remove(d.getNode()); removeSeriesFromDisplay(series); } --- 387,398 ---- @Override protected void seriesRemoved(final Series<X,Y> series) { // remove series Y multiplier seriesYMultiplierMap.remove(series); // remove all symbol nodes if (shouldAnimate()) { ! Timeline tl = new Timeline(createSeriesRemoveTimeLine(series, 400)); tl.play(); } else { getPlotChildren().remove(series.getNode()); for (Data<X,Y> d:series.getData()) getPlotChildren().remove(d.getNode()); removeSeriesFromDisplay(series); }
< prev index next >