AnchorPane将子节点的边缘锚定到距锚窗格边缘的偏移处。如果锚窗格设置了边框或填充,则偏移量将从这些插图的内边缘开始测量。

    类的构造函数:

    1. AnchorPane():创建一个新的 AnchorPane。
    2. AnchorPane(Node… c):创建具有指定节点的AnchorPane。

    常用方法:

    方法 解释
    getBottomAnchor(节点 c) 返回孩子的底部锚点。
    getLeftAnchor(节点 c) 返回孩子的左码头。
    getRightAnchor(节点 c) 返回孩子的右翼。
    getTopAnchor(节点 c) 返回孩子的顶部航点。
    setBottomAnchor(节点 c, 双 v) 设置孩子的底部锚点。
    setLeftAnchor(节点 c,双 v) 设置孩子的左航。
    setRightAnchor(节点 c, 双 v) 设置孩子的航标。
    setTopAnchor(节点 c, 双 v) 设置孩子的顶部航点。

    让我们创建一个 JavaFX 示例,该示例使用AnchorPane和HBox将两个按钮定位到窗口的右下角。

    1. import javafx.application.Application;
    2. import javafx.scene.Scene;
    3. import javafx.scene.control.Button;
    4. import javafx.scene.control.Label;
    5. import javafx.scene.layout.AnchorPane;
    6. import javafx.scene.layout.HBox;
    7. import javafx.stage.Stage;
    8. public class Main extends Application {
    9. public void start(Stage stage) {
    10. stage.setTitle("AnchorPane");
    11. HBox hBox = new HBox();
    12. Button b1 = new Button("Login");
    13. Button b2 = new Button("Regist");
    14. hBox.getChildren().addAll(b1,b2);
    15. AnchorPane anchor_pane = new AnchorPane();
    16. anchor_pane.getChildren().addAll(hBox);
    17. AnchorPane.setTopAnchor(hBox, 50.0);
    18. AnchorPane.setLeftAnchor(hBox, 10.0);
    19. Scene scene = new Scene(anchor_pane, 400, 300);
    20. stage.setScene(scene);
    21. stage.show();
    22. }
    23. public static void main(String args[]) {
    24. launch(args);
    25. }
    26. }

    image.png

    1. import javafx.application.Application;
    2. import javafx.scene.Scene;
    3. import javafx.scene.control.Button;
    4. import javafx.scene.control.Label;
    5. import javafx.scene.layout.AnchorPane;
    6. import javafx.scene.layout.HBox;
    7. import javafx.stage.Stage;
    8. public class Main extends Application {
    9. public void start(Stage stage) {
    10. stage.setTitle("AnchorPane");
    11. Button b1 = new Button("Login");
    12. AnchorPane anchor_pane = new AnchorPane();
    13. anchor_pane.getChildren().addAll(b1);
    14. AnchorPane.setTopAnchor(b1, 50D);
    15. AnchorPane.setLeftAnchor(b1,50D);
    16. Scene scene = new Scene(anchor_pane, 400, 300);
    17. stage.setScene(scene);
    18. stage.show();
    19. }
    20. public static void main(String args[]) {
    21. launch(args);
    22. }
    23. }

    image.png