Created
August 1, 2012 12:47
-
-
Save kevinsdooapp/3226543 to your computer and use it in GitHub Desktop.
setRange implementation for logarithmic axis
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* {@inheritDoc} | |
*/ | |
@Override | |
protected void setRange(Object range, boolean animate) { | |
if (range != null) { | |
Number lowerBound = ((Number[]) range)[0]; | |
Number upperBound = ((Number[]) range)[1]; | |
try { | |
validateBounds(lowerBound.doubleValue(), upperBound.doubleValue()); | |
} catch (IllegalLogarithmicRangeException e) { | |
e.printStackTrace(); | |
} | |
if (animate) { | |
try { | |
lowerRangeTimeline.getKeyFrames().clear(); | |
upperRangeTimeline.getKeyFrames().clear(); | |
lowerRangeTimeline.getKeyFrames() | |
.addAll(new KeyFrame(Duration.ZERO, new KeyValue(lowerBoundProperty(), lowerBoundProperty() | |
.get())), | |
new KeyFrame(new Duration(ANIMATION_TIME), new KeyValue(lowerBoundProperty(), | |
lowerBound.doubleValue()))); | |
upperRangeTimeline.getKeyFrames() | |
.addAll(new KeyFrame(Duration.ZERO, new KeyValue(upperBoundProperty(), upperBoundProperty() | |
.get())), | |
new KeyFrame(new Duration(ANIMATION_TIME), new KeyValue(upperBoundProperty(), | |
upperBound.doubleValue()))); | |
lowerRangeTimeline.play(); | |
upperRangeTimeline.play(); | |
} catch (Exception e) { | |
lowerBoundProperty().set(lowerBound.doubleValue()); | |
upperBoundProperty().set(upperBound.doubleValue()); | |
} | |
} | |
lowerBoundProperty().set(lowerBound.doubleValue()); | |
upperBoundProperty().set(upperBound.doubleValue()); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment