Como limpar o texto adicionado em um gráfico de barras javafx?
Eu adiciono algum texto na parte superior das barras (o valor de cada barra). Está funcionando, mas o problema é que quero remover este texto sempre que atualizar o gráfico. De fato, o texto permanece após a atualização dos dados.
Para o primeiro gráfico, como não há dados anteriores, ele é exibido corretamente.
Mas depois de atualizar os dados do gráfico, eis o que recebo (está funcionando, mas o texto adicionado anterior permanece ...):
Destaquei em vermelho a parte errada
Eu adiciono o texto em cima de cada barra com este método:
private void displayLabelForData(XYChart.Data<String, Number> data) {
final Node node = data.getNode();
final Text dataText = new Text(data.getYValue() + "");
node.parentProperty().addListener(new ChangeListener<Parent>() {
@Override public void changed(ObservableValue<? extends Parent> ov, Parent oldParent, Parent parent) {
Group parentGroup = (Group) parent;
parentGroup.getChildren().add(dataText);
}
});
node.boundsInParentProperty().addListener(new ChangeListener<Bounds>() {
@Override public void changed(ObservableValue<? extends Bounds> ov, Bounds oldBounds, Bounds bounds) {
dataText.setLayoutX(
Math.round(
bounds.getMinX() + bounds.getWidth() / 2 - dataText.prefWidth(-1) / 2
)
);
dataText.setLayoutY(
Math.round(
bounds.getMinY() - dataText.prefHeight(-1) * 0.5
)
);
}
});
}
Meu código completo está disponívelem Gist
Ainda não há resposta para isso ...
Obrigado !