javafx AnchorPane


本文向大家介绍javafx AnchorPane,包括了javafx AnchorPane的使用技巧和注意事项,需要的朋友参考一下

示例

AnchorPane 是一种布局,允许将内容放置在距离其侧面特定距离的位置。

有4种设置方法和4种获取距离的方法AnchorPane。这些方法的第一个参数是child Node。设置器的第二个参数是Double要使用的值。该值可以null指示给定边没有约束。

setter 方法 getter 方法
setBottomAnchor getBottomAnchor
setLeftAnchor getLeftAnchor
setRightAnchor getRightAnchor
setTopAnchor getTopAnchor

在以下示例中,将节点放置在距边指定距离的位置。

该center区域也被调整,以保持从侧面指定的距离。调整窗口大小时,请观察行为。

public static void setBackgroundColor(Region region, Color color) {
    // 变为50%不透明度
    color = color.deriveColor(0, 1, 1, 0.5);
    region.setBackground(new Background(new BackgroundFill(color, CornerRadii.EMPTY, Insets.EMPTY)));
}

@Override
public void start(Stage primaryStage) {
    Region right = new Region();
    Region top = new Region();
    Region left = new Region();
    Region bottom = new Region();
    Region center = new Region();
    
    right.setPrefSize(50, 150);
    top.setPrefSize(150, 50);
    left.setPrefSize(50, 150);
    bottom.setPrefSize(150, 50);
    
    // 用不同的半透明颜色填充
    setBackgroundColor(right, Color.RED);
    setBackgroundColor(left, Color.LIME);
    setBackgroundColor(top, Color.BLUE);
    setBackgroundColor(bottom, Color.YELLOW);
    setBackgroundColor(center, Color.BLACK);
    
    // 设置边距
    AnchorPane.setBottomAnchor(bottom, 50d);
    AnchorPane.setTopAnchor(top, 50d);
    AnchorPane.setLeftAnchor(left, 50d);
    AnchorPane.setRightAnchor(right, 50d);
    
    AnchorPane.setBottomAnchor(center, 50d);
    AnchorPane.setTopAnchor(center, 50d);
    AnchorPane.setLeftAnchor(center, 50d);
    AnchorPane.setRightAnchor(center, 50d);
    
    // 用指定的孩子创建AnchorPane
    AnchorPane anchorPane = new AnchorPane(left, top, right, bottom, center);

    Scene scene = new Scene(anchorPane, 200, 200);    
    primaryStage.setScene(scene);    
    primaryStage.show();
}