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());