2017-12-01 19 views
0

私はFXMLでUIをデザインしようとしており、シーンビルダを部分的に使用しています。 Anchorpaneを使用して、シーン内のすべてのコンテンツを配置します。ただし、ウィンドウのサイズを大きくすると、ボタンが中央から左に移動します。私は彼らがページの中央に留まっていることを確認したい。これを行う方法?おかげさまで FXML:ウィンドウのサイズを変更するときにボタンを中央に保持する方法は?

+0

あなたの 'FXML'ファイルを投稿してください。それが非常に大きい場合は、あなたがしようとしていることを示すウォーターダウンバージョンを投稿してください。 – Sedrick

+0

すべてのコンテンツを 'AnchorPane'の中に置くだけであれば、サイズ変更、フォントの変更、解像度などの問題が発生する可能性があります。 – Sedrick

答えて

0

簡単な方法は、StackPaneまたはBorderPaneを使用することです。 BorderPaneの場合、Pos.CENTERを使用して、ボタンを含むボタンまたはコンテナを中央の位置に保つことができます。

本当にアンカーパネルが必要な場合は、リサイズ中にボタンの位置を調整するために幅と高さのプロパティの変更リスナーを使用できます。

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)); 
    }); 
関連する問題