developer tip

JavaFX-setVisible은 요소를 "숨기지"않습니다.

optionbox 2020. 11. 14. 10:07
반응형

JavaFX-setVisible은 요소를 "숨기지"않습니다.


JavaFX에서 2 개의 VBox요소 가있는 장면이 있고 각각 VBox에 여러 요소 Label있는 경우.
상단 VBox보이지 않게 설정하면 상단 있는 장면에서 하단 VBox 이 위로 이동 하지 않는 이유 VBox는 무엇입니까?

VBox이다 보이지 않는 하지만 난 다른 물체가 그 자리로 이동하는 기대.

내 컨트롤을로드하기 위해 FXML을 사용하고 있습니다.


Node.setVisible(boolean)의 가시성 상태를 토글합니다 Node.

Node부모 레이아웃 계산에서 를 제외하려면 추가로를 호출하여 관리 상태를 설정해야합니다 Node.setManaged(false).

가시성과 함께 관리 상태가 자동으로 업데이트되도록하려면 @jewelsea가 지적한대로 바인딩을 사용할 수 있습니다. node.managedProperty().bind(node.visibleProperty());


보이지 않기 때문에 맨 위로 이동하지 않습니다. 다음과 같이 제거해야합니다.

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

보이지 않게하려는 요소를 제거하면 다른 요소가 맨 위로 이동해야합니다.


vbox를 숨기는 대신 Children에서 제거 하고 다시 표시 하려면 vbox를 다시 추가 해야합니다.

참고 URL : https://stackoverflow.com/questions/28558165/javafx-setvisible-doesnt-hide-the-element

반응형