usar java javafx javafx-2 javafx-8 fxml

usar - JavaFX-setVisible no "oculta" el elemento



scene builder netbeans (4)

Como es invisible, no se moverá hacia la parte superior. Tienes que eliminarlo con algo como:

// remove vbox.getChildren().remove(...)

Una vez que haya eliminado el elemento que desea invisible, el otro elemento debería moverse hacia la parte superior.

En JavaFX, si tengo una escena con 2 elementos VBox y cada VBox tiene varias Label .
Si configuro el VBox superior en invisible , ¿por qué el VBox inferior no se mueve hacia arriba en la escena donde estaba el VBox superior?

El VBox es invisible, pero espero que los otros objetos se muevan a su lugar.

Estoy usando FXML para cargar mis controles.


En lugar de ocultar el vbox, debe eliminarlo de los elementos secundarios y, si desea mostrarlo nuevamente, agregue el vbox nuevamente.


Si quiero ocultar y mostrar un nodo, redimensiono el nodo a 0 si quiero ocultarlo. De esa forma, el nodo no ocupará espacio ya que no es visible para el usuario, por lo que cuando quiero que sea visible, ajusto el tamaño nuevamente para que sea visible.


Node.setVisible(boolean) solo alterna el estado de visibilidad de un Node .

Para excluir un Node de sus cálculos de diseño Node.setManaged(false) , también debe establecer su estado administrado, llamando a Node.setManaged(false) .

Si desea que el estado administrado se actualice automáticamente junto con la visibilidad, puede usar un enlace como @jewelsea señaló: node.managedProperty().bind(node.visibleProperty());