How to make JavaFX Chart NumberAxis only show Integer value,not double


Question

I'm trying to create a chart who's yAxis is designed to show number of employee number, so it must only show whole numbers.
But I found it's not that easy as I already tried to yAxis.setTickUnit(1) but it won't work when the values are small(etc. the max value is 3, it'll still show 0.5,1.5..., I only want tick value like 1,2,3,4..)
How Could I to achieve this?

According to @jewelsea 's answer, I tried this(In javafx 2.2 jdk7)

class IntegerStringConverter extends StringConverter<Number>{

    public IntegerStringConverter() {
    }

    @Override
    public String toString(Number object) {
        if(object.intValue()!=object.doubleValue())
            return "";
        return ""+(object.intValue());
    }

    @Override
    public Number fromString(String string) {
        Number val = Double.parseDouble(string);
        return val.intValue();
    }
}  

It's result is kind of acceptable. Double value's are gone, but there ticks are still there.
double values gone but ticks are still there

1
4
5/24/2014 12:28:38 PM

Set a tickLabelFormatter on the axis.

2
5/24/2014 6:42:01 AM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon