Как сделать так, чтобы на диаграмме JavaFX NumberAxis отображалось только целое число, а не двойное

Я пытаюсь создать диаграмму, для которой 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();
    }
}  

Это результат приемлемый. Двойные значения ушли, но галочки все еще есть.
двойные значения ушли, но галочки все еще есть

1 ответ

Установите tickLabelFormatter на оси.

Вы можете установить значения NumberAxis(double lowerBound, double upperBound, double tickUnit) с помощью конструктора. Это отлично работает для JaxaFX 8, на случай, если такие люди, как я, все еще ищут это.

Источник: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/chart/NumberAxis.html

Другие вопросы по тегам