首页 > 其他分享 >AnchorPane锚点布局

AnchorPane锚点布局

时间:2024-06-22 17:10:02浏览次数:13  
标签:10.0 Button 布局 AnchorPane 锚点 anchorPane 节点

JavaFX 的 AnchorPane 是一种布局方式,允许你通过指定锚点来定位子节点。锚点是相对于父节点边缘的位置,你可以使用这些锚点来控制子节点的位置和大小。AnchorPane 非常适合用来创建复杂的布局,其中组件的位置需要相对于其他组件或父容器的边缘进行定位。

以下是 AnchorPane 的一些基本用法:

  1. 锚点属性:每个子节点都有四个锚点属性:topAnchorbottomAnchorleftAnchorrightAnchor。你可以为这些属性设置值,以确定子节点相对于父节点边缘的位置。

  2. 中心对齐AnchorPane 没有内建的居中对齐方式,但可以通过设置左右和上下锚点相等来实现。

  3. 填充:可以使用 setPadding 方法为 AnchorPane 设置内边距。

  4. 约束优先级:JavaFX 8 引入了约束优先级的概念,允许你为每个锚点设置优先级。

  5. 自动尺寸调整AnchorPane 允许你通过锚点来控制子节点的尺寸,例如,通过将左右锚点设置为相等,子节点的宽度将根据其内容自动调整。

下面是一个 AnchorPane 的使用案例,演示了如何使用锚点来定位组件:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;

public class AnchorPaneDemo extends Application {

    @Override
    public void start(Stage primaryStage) {
        // 创建 AnchorPane 实例
        AnchorPane anchorPane = new AnchorPane();

        // 创建按钮
        Button topButton = new Button("Top");
        Button bottomButton = new Button("Bottom");
        Button leftButton = new Button("Left");
        Button rightButton = new Button("Right");

        // 设置按钮的锚点
        anchorPane.setTopAnchor(topButton, 10.0);
        anchorPane.setLeftAnchor(topButton, 10.0);
        anchorPane.setBottomAnchor(bottomButton, 10.0);
        anchorPane.setRightAnchor(bottomButton, 10.0);
        anchorPane.setLeftAnchor(leftButton, 10.0);
        anchorPane.setRightAnchor(leftButton, Double.MAX_VALUE); // 相对于右边缘
        anchorPane.setTopAnchor(rightButton, 10.0);
        anchorPane.setBottomAnchor(rightButton, 10.0);
        anchorPane.setLeftAnchor(rightButton, Double.MAX_VALUE); // 相对于左边缘

        // 将按钮添加到 AnchorPane
        anchorPane.getChildren().add(topButton);
        anchorPane.getChildren().add(bottomButton);
        anchorPane.getChildren().add(leftButton);
        anchorPane.getChildren().add(rightButton);

        // 创建场景并设置 AnchorPane
        Scene scene = new Scene(anchorPane, 400, 300);

        // 设置舞台并显示
        primaryStage.setScene(scene);
        primaryStage.setTitle("AnchorPane Demo");
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

在这个例子中,我们创建了一个 AnchorPane 并添加了四个按钮。每个按钮都通过锚点属性定位在 AnchorPane 的不同位置。例如,topButton 被定位在顶部和左侧的10像素处,bottomButton 被定位在底部和右侧的10像素处,leftButton 被拉伸以填充左侧和右侧的10像素处,而 rightButton 则被定位在右侧和顶部的10像素处。

运行这个程序,你会看到一个窗口,其中包含四个按钮,它们根据锚点属性被定位在 AnchorPane 的不同位置。通过调整窗口的大小,你可以观察到按钮如何根据锚点属性进行调整。

标签:10.0,Button,布局,AnchorPane,锚点,anchorPane,节点
From: https://www.cnblogs.com/zllw946/p/18262516

相关文章

  • BorderPane边框布局
    JavaFX的BorderPane是一种布局方式,它将容器分为五个区域:顶部(top)、底部(bottom)、左侧(left)、右侧(right)和中心(center)。每个区域可以放置一个节点,中心区域可以放置任意类型的节点,而其他四个区域通常放置较小的控件或组件。以下是BorderPane的一些基本用法:区域设置:使用setTop......
  • 第二讲 常见布局及控件
    第二讲常见布局及控件一.RelativeLayout格式:android:layout_二.线性布局 layout_width不要设置wrap_content没有用layout_weight是每个控件占权重线性布局默认水平显示选择题:1.在下列选项中,用于给Activity指定主题的属性是(C)A、iconB、labelC、themeD、style分......
  • qt开发-08_layout 布局
    Qt提供了非常丰富的布局类,基本布局管理类包括:QBoxLayout、QGridLayout、QFormLayout和QStackedLayout。这些类都从QLayout继承而来,它们都来源于QObject(而不是QWidget)。创建更加复杂的布局,可以让它们彼此嵌套完成。其中QBoxLayout提供了水平和垂直的布局管理;QFormLa......
  • fyne的VBox布局
    fyne的VBox布局最常用的布局是layout.BoxLayout,它有两种变体,水平和垂直。box布局将所有元素排列在单行或单列中,并带有可选的空格以帮助对齐。一步一步实现一个如下界面布局,这个界面可以使用VBox布局来实现。代码1packagemainimport( "fyne.io/fyne/v2" "fyne.io/......
  • fyne的border布局02
    border布局02边框布局可能是最广泛用于构建用户界面的布局,因为它允许将项目定位在中心元素周围,而中心元素将扩展以填充空间。实现如下一个界面布局:实现代码如下:packagemainimport( "edgevpndemo/resources" "fyne.io/fyne/v2" "fyne.io/fyne/v2/app" "fyne.i......
  • 【vue】可视化大屏实现固定比例布局(不错位)
    背景最初方案是使用dataV中的大屏自适应组件,后续发现dataV在不同显示器分辨率下的效果会不一致导致图表内容错位等问题;后续查找资料重新写自适应。组件封装resizeMixin.js//*默认缩放值constscale={width:'1',height:'1',};//*设计稿尺寸(px)cons......
  • Web应用课 2.4 CSS——flex、响应式布局
    flex布局主轴方向flex-directionCSSflex-direction属性指定了内部元素是如何在flex容器中布局的,定义了主轴的方向(正方向或反方向)。/*文本排成行的方向*/flex-direction:row;/*类似于<row>,但方向相反*/flex-direction:row-reverse;/*文本排成列的方向*/f......
  • 使用锚点跳转时出现位置偏差原因及解决办法
    在使用锚点跳转时,以下情况可能导致页面跳转位置出现误差:固定定位元素(FixedPositionElements):当页面有固定定位的导航栏或其他固定元素时,跳转到锚点时,这些固定元素可能会遮挡锚点目标,导致用户看不到预期内容。动态内容加载(DynamicContentLoading):如果页面内容通过JavaScr......
  • 以前功能正常的代码突然出现布局问题
    我的网站使用相同的CSS文件已超过十年,从未出现过任何问题,但大约24小时前,我的网站布局出现了乱码,尽管我只是为我试图用于大写字母的新图片添加了一个单独的类,迄今为止我只在一个页面上进行了测试,但整个网站(每个页面)都出现了乱码,即使我恢复了原始CSS文件且未做任何新的修改,情......
  • css布局方式汇总
    css布局解决方案文章目录css布局解决方案水平居中布局1.text-algin:center使用场景原理优点与缺点2.margin:0auto原理优点和缺点3.inline-block+text-align属性配合使用原理优点和缺点4.table配合margin属性使用原理优点和缺点5.absolute+transform属性的tran......