簡體   English   中英

如何在Javafx中的窗格上將標簽居中

[英]how to center a label on a pane in javafx

我想將結果設置在Pane的中心。

Label results = new Label("You win");
Pane pane = new Pane();
pane.getChildren().add(results);

我已經嘗試了下面兩行代碼,但都沒有用。

results.setAlignment(Pos.CENTER);
results.setContentDisplay(ContentDisplay.CENTER);

順便說一句,我知道如何以StackPaneGridPane為中心,但是在這種情況下,我需要使用普通的Pane

Pane不支持將孩子居中。 因此,它必須手動完成,即layoutXlayoutY位置必須“手動”計算。

您可以通過綁定來實現:

results.layoutXProperty().bind(pane.widthProperty().subtract(results.widthProperty()).divide(2));
// procede accordingly with layoutY / height

我對綁定很無聊,所以我做了一些簡單的事情。 從那時起,我的“ MessageBox”始終處於中心位置。 中心窗格到AnchorPane。 可以與其他控件和容器一起使用,我沒有嘗試過。

double w = (anchorpane.getWidth()/2)-(panel.getWidth()/2);
double h = (anchorpane.getHeight()/2)-(panel.getHeight()/2);
panel.setLayoutX(w); panel.setLayoutY(h);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM