Javafx2에서는 항목을 창에 추가 한 다음 보이지 않게 만드는 것이 레이아웃에서 여전히 공간을 차지하는 것으로 보입니다. 아이가 보이지 않게 된 후 레이아웃을 조정하도록 창에 질문하는 방법을 아는 사람이 있습니까?창 다시 레이아웃을 묻는 방법
다음은 저의 문제점을 보여주는 샘플 프로그램입니다. VBox에는 3 개의 버튼이 있습니다. 상단 또는 가운데 단추를 클릭하면 보이지 않게되지만 간격이 생깁니다.
public class VisibilityTest extends Application {
Button button1 = null;
Button button2 = null;
Button button3 = null;
VBox box = null;
@Override
public void start(Stage primaryStage) {
button1 = new Button("Button 1");
button2 = new Button("Button 2");
button3 = new Button("Button 3");
box = new VBox();
box.getChildren().add(button1);
box.getChildren().add(button2);
box.getChildren().add(button3);
button1.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent t) {
button1.setVisible(false);
}
});
button2.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent t) {
button2.setVisible(false);
}
});
button3.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent t) {
button3.setVisible(false);
}
});
Scene scene = new Scene(box, 300, 250);
primaryStage.setScene(scene);
primaryStage.show();
}
}
방금 읽은 VBox javadoc'VBox는 자식의 표시 속성 값에 관계없이 각 관리되는 자식을 레이아웃합니다. 관리되지 않는 아이들은 무시된다. 가시성이 스윙에서보다 javafx에서 다른 것처럼 보입니다. 표시 항목은 레이아웃에서 무시되지 않습니다. – Stinky
예 관련이 : http://stackoverflow.com/q/12200195/682495](http://stackoverflow.com/q/12200195/682495) –