图表 – 如何使JavaFX图表编号仅显示整数值,而不是双倍

我正在尝试创建一个图表,其中yAxis旨在显示员工编号,因此它必须只显示整数.

但是我发现它并不那么容易,因为我已经尝试过yAxis.setTickUnit(1)但是当值很小时它不会起作用(等等.最大值是3,它仍然会显示0.5,1.5 ……,我只想要像1,2,3,4那样的刻度值..)

我怎么能实现这个目标?

根据@jewelsea的回答,我试过这个(在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();
    }
}  

结果是可以接受的.双重值已经消失,但仍然存在滴答声.

最佳答案 在轴上设置
tickLabelFormatter.

点赞