JavaFX에서 2 개의 VBox
요소 가있는 장면이 있고 각각 VBox
에 여러 요소 가 Label
있는 경우.
맨 위 VBox
를 보이지 않게 설정하면 맨 위 가 있던 장면에서 맨 아래 VBox
가 위로 이동 하지 않는 이유 VBox
는 무엇입니까?
는 VBox
이다 보이지 않는 하지만 난 다른 물체가 그 자리로 이동하는 기대.
내 컨트롤을로드하기 위해 FXML을 사용하고 있습니다.
답변:
Node.setVisible(boolean)
의 가시성 상태를 전환합니다 Node
.
Node
부모 레이아웃 계산에서 를 제외하려면 추가로를 호출하여 관리 상태를 설정해야합니다 Node.setManaged(false)
.
가시성과 함께 관리 상태가 자동으로 업데이트되도록하려면 @jewelsea가 지적한대로 바인딩을 사용할 수 있습니다. node.managedProperty().bind(node.visibleProperty());
setVisible과 managedProperty를 함께 사용하십시오. 다음은 그 예입니다.
myHBox.setVisible(false);
myHBox.managedProperty().bind(myHBox.visibleProperty());
VBox
는removed
부모가 아닌 보이지 않기 때문입니다.