2017-12-01 5 views
0

저는 FXML에서 UI를 디자인하고 부분적으로 Scene Builder를 사용하려고합니다. Anchorpane을 사용하여 장면의 모든 내용을 배치합니다. 그러나 창 크기를 더 크게 조정하면 단추가 가운데에서 왼쪽으로 이동합니다. 나는 그들이 페이지의 중앙에 머물고 있는지 확인하고 싶다. 이 작업을 수행하는 방법? 감사합니다. .FXML : 창 크기를 조정할 때 버튼을 중앙에 유지하는 방법은 무엇입니까?

+0

'FXML' 파일을 게시하십시오. 그것이 매우 큰 경우, 당신이하려고하는 것을 보여줄 뿐인 물결 모양의 버전을 게시하십시오. – Sedrick

+0

단순히 모든 내용을'AnchorPane' 안에 넣는다면 크기 조절, 글꼴 변경, 해상도 등으로 인해 많은 문제가 발생할 수 있습니다. – Sedrick

답변

0

쉬운 방법은 StackPane 또는 BorderPane을 사용하는 것입니다. BorderPane의 경우, Pos.CENTER를 사용하여 버튼이 포함 된 버튼이나 컨테이너를 가운데 위치에 유지할 수 있습니다.

AnchorPane이 실제로 필요한 경우 크기를 조정할 때 width 및 height 속성 변경 리스너를 사용하여 버튼 위치를 조정할 수 있습니다.

private AnchorPane anchorPane; 
private Button button; 

anchorPane.widthProperty().addListener((ObservableValue<? extends Number> observable, Number oldValue, Number newValue) -> { 
     button.setLayoutX(newValue.doubleValue()/2 - (button.widthProperty().getValue()/2)); 
    }); 
anchorPane.heightProperty().addListener((ObservableValue<? extends Number> observable, Number oldValue, Number newValue) -> { 
     button.setLayoutY(newValue.doubleValue()/2 - (button.heightProperty().getValue()/2)); 
    }); 
관련 문제