Skip to content

Instantly share code, notes, and snippets.

@kevinsdooapp
kevinsdooapp / test.txt
Created July 31, 2012 16:06
test description
test
@kevinsdooapp
kevinsdooapp / LogarithmicAxis.java
Created July 31, 2012 16:26
LogarithmicAxis class that extends ValueAxis
import javafx.scene.chart.ValueAxis;
/**
* A logarithmic axis implementation for JavaFX 2 charts<br>
* <br>
*
* @author Kevin Senechal
*
*/
public class LogarithmicAxis extends ValueAxis<Number> {
@kevinsdooapp
kevinsdooapp / getTickMarkLabel
Created July 31, 2012 16:48
getTickMarkLabel implementation for javafx 2 logarithmic axis
@Override
protected String getTickMarkLabel(Number value) {
NumberFormat formatter = NumberFormat.getInstance();
formatter.setMaximumIntegerDigits(6);
formatter.setMinimumIntegerDigits(1);
return formatter.format(value);
}
@kevinsdooapp
kevinsdooapp / getRange
Created July 31, 2012 16:52
getRange implementation for javafx 2 logarithmic axis
@Override
protected Object getRange() {
return new Number[] { lowerBoundProperty().get(), upperBoundProperty().get() };
}
@kevinsdooapp
kevinsdooapp / LogarithmicAxis.java
Created August 1, 2012 10:06
Implementation of the logarithmic axis (step 1)
import javafx.scene.chart.ValueAxis;
/**
* A logarithmic axis implementation for JavaFX 2 charts<br>
* <br>
*
* @author Kevin Senechal
*
*/
public class LogarithmicAxis extends ValueAxis<Number> {
@kevinsdooapp
kevinsdooapp / LogarithmicAxis.java
Created August 1, 2012 12:39
calculateMinorTickMarks implementation for logarithmic axis
/**
* {@inheritDoc}
*/
@Override
protected List<Number> calculateMinorTickMarks() {
Number[] range = getRange();
List<Number> minorTickMarksPositions = new ArrayList<Number>();
if (range != null) {
Number upperBound = range[1];
@kevinsdooapp
kevinsdooapp / LogarithmicAxis.java
Created August 1, 2012 12:43
calculateTickValues implementation for logarithmic axis
/**
* {@inheritDoc}
*/
@Override
protected List<Number> calculateTickValues(double length, Object range) {
List<Number> tickPositions = new ArrayList<Number>();
if (range != null) {
Number lowerBound = ((Number[]) range)[0];
Number upperBound = ((Number[]) range)[1];
double logLowerBound = Math.log10(lowerBound.doubleValue());
@kevinsdooapp
kevinsdooapp / LogarithmicAxis.java
Created August 1, 2012 12:47
setRange implementation for logarithmic axis
/**
* {@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());
@kevinsdooapp
kevinsdooapp / LogarithmicAxis.java
Created August 1, 2012 12:52
setRange implementation for logarithmic axis
/**
* {@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());
@kevinsdooapp
kevinsdooapp / LogarithmicAxis.java
Created August 1, 2012 12:55
setRange animation required properties
/**
* The time of animation in ms
*/
private static final double ANIMATION_TIME = 2000;
private final Timeline lowerRangeTimeline = new Timeline();
private final Timeline upperRangeTimeline = new Timeline();