У меня есть программа, которая рисует график с осью со значениями.Значения должны быть нарисованы каждые 'y' пикселей.
Как показано на рисунке, черные линии показывают, где эти значения нарисованы.Соответствующая метка рисуется рядом с каждым значением оси.
Проблема в том, что без смещения источник берется в верхнем левом углу метки, поэтому текст не выравнивается по вертикали относительно линии.
Чтобы исправить это, я думаю получить высоту надписи и вручную сдвинуть позицию y для надписи.
Как узнать высоту надписи в пикселях?
Это исходный код, используемый для рисования линий и надписей:
public void drawAxis() {
int i = 0;
for(i=0; i<20; i++) {
long y_pos = 0;
y_pos = i*100;
Line gridTick = new Line(0, y_pos, 20, y_pos);
Label gridLabel = new Label(getStringFromValue(y_pos));
gridLabel.setTranslateX(30);
gridLabel.setTranslateY(y_pos);
rightAxisPanel.getChildren().add(gridTick);
rightAxisPanel.getChildren().add(gridLabel);
}
}