Trato de nodo de una XYChart.Data
, pero es nula.
var a = new XYChart.Data<Number, Number>(10, 10);
if(a.getNode()==null){ System.out.println("true"); }
¿Por getNode()
devuelto nulo? ¿Qué hice mal?
La XYChart.Data.node
propiedad tiene un valor inicial de null
. Si no se establece por sí mismo, entonces se establecerá una vez que los datos se convierte en parte de un gráfico. De la documentación ( énfasis mío):
El nodo que se mostrará para este elemento de datos. Puede crear su propio nodo y la puso sobre el elemento de datos antes de agregar el artículo a la carta. De lo contrario el gráfico creará un nodo para usted que tiene la representación por defecto para el tipo de gráfico. Este nodo se establecerá tan pronto como los datos se añaden a la tabla. A continuación, puede conseguir que añadir detectores de ratón etc. Gráficos hará todo lo posible a la posición y el tamaño del nodo apropiada, por ejemplo, en una línea o dispersión trazar este nodo se colocará centrado en la posición valores de datos. Para un gráfico de barras esta se coloca y se cambia el tamaño como la barra para este elemento de datos.
Si tiene que hacer algo con el valor por defecto Node
, se puede añadir un oyente a la propiedad (antes de añadir los datos a una tabla) que se le notifique cuando se convierte en no null
.
data.nodeProperty().addListener((observable, oldValue, newValue) -> {
if (newValue != null) {
// do something...
}
});
O conseguir el Node
después de añadir los datos a un gráfico.