JavaFX布局-TilePane

news2025/6/23 21:56:21

JavaFX布局-TilePane

  • 常用属性
    • alignment
    • tileAlignment
    • orientation
    • hgap
    • vgap
    • padding
  • 实现方式
    • Java
    • fxml

  • 自动排列其子节点成网格状
  • 根据容器的大小以及子节点的数量和大小自动计算最佳的排列方式
  • 推荐子节点固定大小,参差不齐的子节点,效果很诡异

常用属性

alignment

对齐方式

tilePane.setAlignment(Pos.CENTER_RIGHT);
public enum Pos {
   /**
    * Represents positioning on the top vertically and on the left horizontally.
    */
   TOP_LEFT(TOP, LEFT),

   /**
    * Represents positioning on the top vertically and on the center horizontally.
    */
   TOP_CENTER(TOP, HPos.CENTER),

   /**
    * Represents positioning on the top vertically and on the right horizontally.
    */
   TOP_RIGHT(TOP, RIGHT),

   /**
    * Represents positioning on the center vertically and on the left horizontally.
    */
   CENTER_LEFT(VPos.CENTER, LEFT),

   /**
    * Represents positioning on the center both vertically and horizontally.
    */
   CENTER(VPos.CENTER, HPos.CENTER),

   /**
    * Represents positioning on the center vertically and on the right horizontally.
    */
   CENTER_RIGHT(VPos.CENTER, RIGHT),

   /**
    * Represents positioning on the bottom vertically and on the left horizontally.
    */
   BOTTOM_LEFT(BOTTOM, LEFT),

   /**
    * Represents positioning on the bottom vertically and on the center horizontally.
    */
   BOTTOM_CENTER(BOTTOM, HPos.CENTER),

   /**
    * Represents positioning on the bottom vertically and on the right horizontally.
    */
   BOTTOM_RIGHT(BOTTOM, RIGHT),

   /**
    * Represents positioning on the baseline vertically and on the left horizontally.
    */
   BASELINE_LEFT(BASELINE, LEFT),

   /**
    * Represents positioning on the baseline vertically and on the center horizontally.
    */
   BASELINE_CENTER(BASELINE, HPos.CENTER),

   /**
    * Represents positioning on the baseline vertically and on the right horizontally.
    */
   BASELINE_RIGHT(BASELINE, RIGHT);
}    

tileAlignment

子节点对齐方式

tilePane.setTileAlignment(Pos.CENTER);

orientation

排列方式,Orientation.VERTICAL、Orientation.HORIZONTAL

tilePane.setOrientation(Orientation.HORIZONTAL);

hgap

水平间距

tilePane.setHgap(10);

vgap

垂直间距

tilePane.setVgap(10);

padding

内边距,可以单独设置上、下、左、右的内边距

tilePane.setPadding(new Insets(10, 10, 10, 10));

实现方式

Java

在这里插入图片描述

    public static TilePane demo1() {
        // 创建TilePane
        TilePane tilePane = new TilePane();
        // 容器位置
        tilePane.setAlignment(Pos.BOTTOM_LEFT);
        // 子节点位置
        tilePane.setTileAlignment(Pos.CENTER);
        // 排列方向
        tilePane.setOrientation(Orientation.HORIZONTAL);
        // 水平间距
        tilePane.setHgap(10);
        // 垂直间距
        tilePane.setVgap(10);
        // 内边距
        tilePane.setPadding(new Insets(10, 10, 10, 10));

        // 圆形
        Circle circle = new Circle(50, Color.RED);
        tilePane.getChildren().addAll(circle);

        // 矩形
        Rectangle rectangle = new Rectangle(100, 80, Color.BLUE);
        tilePane.getChildren().addAll(rectangle);

        // 按钮
        for (int i = 0; i < 10; i++) {
            Button button = new Button("Button " + (i + 1));
            tilePane.getChildren().addAll(button);
        }

        return tilePane;
    }

fxml

<TilePane xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" prefHeight="400"
          prefWidth="600" alignment="BOTTOM_LEFT" tileAlignment="CENTER" vgap="10" hgap="10" orientation="HORIZONTAL">
    <padding>
        <Insets left="10" top="5" right="10" bottom="5"/>
    </padding>
    <children>
        <Circle fill="red" radius="50"/>
        <Rectangle fill="blue" height="80" width="100"/>
        <Button text="button 1"/>
        <Button text="button 2"/>
        <Button text="button 3"/>
        <Button text="button 4"/>
        <Button text="button 5"/>
        <Button text="button 6"/>
        <Button text="button 7"/>
        <Button text="button 8"/>
        <Button text="button 9"/>
        <Button text="button 10"/>
    </children>
</TilePane>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1954581.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【VS2019安装+QT配置】

【VS2019安装QT配置】 1. 前言2. 下载visual studio20193. visual studio2019安装4. 环境配置4.1 系统环境变量配置4.2 qt插件开发 5. Visual Studio导入QT项目6. 总结 1. 前言 前期安装了qt&#xff0c;发现creator编辑器并不好用&#xff0c;一点都不时髦。在李大师的指导下&…

基于Springboot的高校毕业生资格审查系统/计算机项目/Java、Web/课设

摘 要 计算机网络与信息化管理相配合&#xff0c;可以有效地提高管理人员的工作效能和改进工作的质量。良好的高校毕业生资格审查系统可以使管理员工作得到更好的管理和应用&#xff0c;并有助于管理员更好地管理高校毕业生资格审查&#xff0c;并有助于解决人力管理中出现的差…

C++第二十八弹---进一步理解模板:特化和分离编译

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 目录 1. 非类型模板参数 2. 模板的特化 2.1 概念 2.2 函数模板特化 2.3 类模板特化 2.3.1 全特化 2.3.2 偏特化 2.3.3 类模板特化应用示例 3. …

Redis常用指令(不定期更新)

Redis常用指令&#xff08;不定期更新&#xff09; 查询指定前缀key的数量查看键空间事件开启键空间通知 查询指定前缀key的数量 查询【TEST前缀】的key数量 EVAL "return #redis.call(keys,TEST:*)" 0返回信息 查看键空间事件 config get notify-keyspace-even…

Linux——DNS服务搭建

&#xff08;一&#xff09;搭建nginx 1.首先布置基本环境 要求能够ping通外网&#xff0c;有yum源 2.安装nginx yum -y install nginx 然后查看验证 3.修改网页配置文件 修改文件&#xff0c;任意编写内容&#xff0c;然后去物理机测试 &#xff08;二&#xff09;创建一…

51.TFT_LCD液晶屏驱动设计与验证(4)

&#xff08;1&#xff09;顶层文件&#xff1a; module tft_colorbar(input clk ,input reset_n ,output hsync ,output vsync ,output [23:0] rgb_tft ,output tft_bl ,output …

Python多进程环境同时操作时如何互斥操作

title: Python多进程环境同时操作时如何互斥操作 tags: [互斥, python] categories: [Python, 多进程] 在 Python 中&#xff0c;fcntl 模块提供了对文件控制操作的接口&#xff0c;包括文件锁定。fcntl.flock() 函数用于对文件进行锁定&#xff0c;以确保在多进程环境中对文件…

接口自动化测试框架实战-1-项目环境搭建

上一小节中我们讲解了一下本次接口自动化测试框架的大致架构设计和功能概览&#xff0c;本小节我们讲解一下整个项目开发环境的搭建方法。 1、python基础环境 安装python3版本&#xff1a;建议3.9.6版本及以上即可 新建项目的虚拟环境&#xff1a;virtualenv或者pycharm自带的…

MyBatis的入门操作--打印日志和增删改查(单表静态)

下面介绍注解和xml实现crud的操作 目录 一、日志打印和参数传递 1.1.使用mybatis打印日志 1.2.参数传递细节 二、crud&#xff08;注解实现&#xff09; 2.1.增(insert) 2.2.删(delete) 和 (update) 2.3.查(select) 三、crud&#xff08;xml实现&#xff09; 3.1.准备…

环境搭建-Windows系统搭建Docker

Windows系统搭建Docker 一、系统虚拟化1.1 启用虚拟化2.2 启用Hyper-v并开启虚拟任务 三、安装WSL3.1 检验安装3.2 安装WSL 四、Docker安装4.1 Docker安装包下载4.2 Docker安装4.3 运行docker Desktop 五、Docker配置5.1 打开Docker配置中心5.2 配置Docker国内镜像 六、使用 一…

WIN7系统安装,BIOS+MBR方式

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…

【数据结构初阶】单链表经典算法题十二道——得道飞升(中篇)

hi&#xff0c;bro—— 目录 5、 链表分割 6、 链表的回文结构 7、 相交链表 8、 环形链表 【思考】 —————————————— DEAD POOL —————————————— 5、 链表分割 /* struct ListNode {int val;struct ListNode *next;ListNode(int x) : val(x), …

C++编程: 使用 Nanomsg 进行 PUB-SUB 模式基准测试

文章目录 0. 引言1. Nanomsg简介1.1 可扩展性协议类型1.2 支持的传输机制1.3 NanoMsg 架构与实现 2. PUB-SUB 模式基准测试 0. 引言 Nanomsg 作为一款高性能的通信库&#xff0c;支持多种消息传递模式&#xff0c;其中包括 PUB-SUB&#xff08;发布-订阅&#xff09;。 本篇文…

【NPU 系列专栏 2.4 -- 高速互连 NVLink 详细介绍】

请阅读【嵌入式及芯片开发学必备专栏】 文章目录 NVLink 简介NVLink 主要特点NVLink 应用场景NVLink 工作原理NVLink 实例介绍DL 中使用 NVLinkHPC 中使用 NVLinkSummaryNVLink 简介 NVLink 是 NVIDIA 开发的一种高速互连技术,旨在提升 GPU 与 GPU 之间以及 GPU 与 CPU 之间的…

simapro碳捕集

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…

SpringBoot整合阿里云短信业务

详细介绍SpringBoot整合阿里云短信服务的每一步过程&#xff0c;同时会将验证码存放到Redis中并设置过期时间&#xff0c;尽量保证实战的同时也让没做过的好兄弟也能实现发短信的功能~ 1. 注册阿里云账号和创建Access Key 首先&#xff0c;你需要注册一个阿里云账号&#xff0…

【轨物方案】电表红外抄表物联网装置

对于光伏运维工程师来说&#xff0c;电表抄表是一件并不陌生的工作&#xff0c;不过很多并网电表的RS485通讯接口一般都被占用了&#xff0c;并且电表的外壳也被铅封起来。在这种情况下电站通常采用人工抄表的方式采集电量数据&#xff0c;这种方式费时费力&#xff0c;对电站运…

【研发日记】Matlab/Simulink技能解锁(十)——PID调参技巧

文章目录 前言 项目背景 参数P调节 参数I调节 参数D调节 整体优化 分析和应用 总结 参考资料 前言 见《【研发日记】Matlab/Simulink技能解锁(五)——七个Simulink布线技巧》 见《【研发日记】Matlab/Simulink技能解锁(六)——六种Simulink模型架构》 见《【研发日记】…

WEB前端11-Vue2基础01(项目构建/目录解析/基础案例)

Vue2基础(01) 1.Vue2项目构建 步骤一&#xff1a;安装前端脚手架 npm install -g vue/cli步骤二&#xff1a;创建项目 vue ui步骤三&#xff1a;运行项目 npm run serve步骤四&#xff1a;修改vue相关的属性 DevServer | webpack //修改端口和添加代理 const { defineCo…

7·19微软蓝屏事件:对全球 IT 基础设施的冲击与反思

719微软蓝屏事件&#xff1a;对全球 IT 基础设施的冲击与反思 一、引言二、事件的详细剖析三、网络安全与系统稳定性的挑战四、构建稳固和安全网络环境的建议五、各领域的有效实践六、总结与展望 719微软蓝屏事件是指当地时间2024年7月19日美国网络安全企业“群集打击”&#x…