JavaFX基本控件-Button

JavaFX基本控件-Button

  • 常用属性
    • text
    • padding
    • alignment
    • textAlignment
    • width
    • height
    • tooltip
    • border
    • wrapText
    • ellipsisString
    • underline
    • graphic
    • graphicTextGap
    • disable
  • 实现方式
    • Java实现
    • fxml实现

常用属性

text

设置文本内容

button.setText("测试按钮");

padding

内边距

button.setPadding(new Insets(5, 10, 5, 10));

alignment

文本对齐方式,单行显示内容少的时候体现

button.setAlignment(Pos.CENTER);

textAlignment

文本对齐方式,在多行文本换行的时候着重体现

button.setTextAlignment(TextAlignment.LEFT);

width

button.setMinWidth(100);
button.setPrefWidth(100);
button.setMaxWidth(200);

height

button.setMinHeight(50);
button.setPrefHeight(50);
button.setMaxHeight(100);

tooltip

提示信息,鼠标放上去会给出一个提示

button.setTooltip(new Tooltip("测试Tooltip"));

border

设置边框

Border border = new Border(new BorderStroke(Paint.valueOf("red"), BorderStrokeStyle.SOLID, new CornerRadii(20), new BorderWidths(3)));
button.setBorder(border);

wrapText

设置是否自动换行

button.setWrapText(true);

ellipsisString

设置超长的省略号(自定义字符串)

button.setEllipsisString("^^^^^^");

underline

设置文本下划线

button.setUnderline(true);

graphic

按钮图标

button.setGraphic(new ImageView(new Image("icon.png")));

在这里插入图片描述

graphicTextGap

按钮上图标与文本之间的距离

button.setGraphicTextGap(20);

disable

设置是否禁用按钮

button.setDisable(true);

在这里插入图片描述

实现方式

Java实现

public static VBox demo1() {VBox vBox = new VBox();vBox.setPadding(new Insets(10, 10, 5, 20));Button button = build("按钮1-单行");button.setGraphic(new ImageView(new Image("icon.png")));button.setGraphicTextGap(20);button.setAlignment(Pos.CENTER_LEFT);button.setUnderline(true);vBox.getChildren().add(button);button = build("按钮2-多行测试-多行测试-多行测试-多行测试-多行测试-多行测试-多行测试-多行测试-多行测试-多行测试-多行测试-多行测试-多行测试-多行测试-多行测试");button.setWrapText(true);vBox.getChildren().add(button);button = build("按钮3-单行超长-单行超长-单行超长-单行超长-单行超长-单行超长-单行超长-单行超长-单行超长-单行超长-单行超长-单行超长-单行超长-单行超长-单行超长");button.setWrapText(false);button.setAlignment(Pos.CENTER_RIGHT);button.setDisable(true);vBox.getChildren().add(button);return vBox;}private static Button build(String text) {Button button = new Button();button.setBorder(new Border(new BorderStroke(Paint.valueOf("red"), BorderStrokeStyle.SOLID, new CornerRadii(20), new BorderWidths(3))));button.setPadding(new Insets(5, 10, 5, 10));button.setTooltip(new Tooltip(text + "Tooltip"));button.setText(text);button.setAlignment(Pos.CENTER_RIGHT);button.setTextAlignment(TextAlignment.RIGHT);button.setMinWidth(100);button.setPrefWidth(100);button.setMaxWidth(200);button.setMinHeight(50);button.setPrefHeight(50);button.setMaxHeight(100);button.setWrapText(true);button.setEllipsisString("^^^^^^");return button;}

fxml实现

<VBox prefHeight="400" prefWidth="600" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1"><children><Button alignment="CENTER" ellipsisString="^^^^^^" maxHeight="100" maxWidth="200" prefHeight="50"prefWidth="100"text="按钮1,测试一下换行数据,测试一下换行数据" textAlignment="RIGHT" textFill="#877f3a"underline="true" wrapText="true"><padding><Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/></padding><font><Font name="Arial Bold" size="14.0"/></font></Button><Button alignment="CENTER" ellipsisString="^^^^^^" maxHeight="100" maxWidth="200" prefHeight="50"prefWidth="100" text="按钮2" textAlignment="LEFT" textFill="#877f3a"underline="true" wrapText="false" disable="true"><padding><Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/></padding><font><Font name="Arial Bold" size="14.0"/></font></Button><Button alignment="CENTER" ellipsisString="^^^^^^" maxHeight="100" maxWidth="200" prefHeight="50"prefWidth="100" text="按钮3,单行超长测试,单行超长测试" textAlignment="LEFT" textFill="#877f3a"underline="true" wrapText="false" disable="true"><padding><Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/></padding><font><Font name="Arial Bold" size="14.0"/></font></Button></children>
</VBox>

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多波束EM2040D以及POSMV使用记录

多波束EM2040D采集软件SIS4.3升级到SIS5.11之后&#xff0c;我们碰到了很多问题&#xff0c;现在将问题和解决过程记录一下。 1、SIS5软件打不开 SIS5软件打不开&#xff0c;报KSlSMainApp has stopped working弹框。 ​ 判断是电脑问题&#xff0c;更新最新win10系统&#…

构建高效智慧水务平台的关键要素有哪些?

在推进智慧水务平台建设的过程中&#xff0c;需着重注意以下几点&#xff0c;以确保系统的先进性与实用性并重&#xff1a; 数据集成与标准化‌&#xff1a;构建统一的数据采集与处理标准&#xff0c;实现多源水务数据的无缝集成与高效管理&#xff0c;为精准决策提供坚实的数据…

Excel常用函数

Excel常用函数 1、统计函数1.1、计数函数1.2、求和函数 2、逻辑函数3、查找函数3.1、一对一查找3.2、一对多查找 4、文本函数 1、统计函数 统计函数是Excel中最常用和强大的函数之一&#xff0c;它可以帮助我们轻松地进行数据统计和分析 1.1、计数函数 1.1.1、COUNT函数&#…

Git 修改Push后的Commit Message

向远程仓库push代码之后&#xff0c;在IDEA中无法直接修改Commit Message&#xff0c;需要在终端或控制台中输入以下命令&#xff08;HEAD~1中的1表示只对最后一个提交进行修改&#xff0c;因此1可以自定义&#xff09; git rebase -i HEAD~1执行完rebase指令后&#xff0c;会…

使用 JAXB 将内嵌的JAVA对象转换为 xml文件

使用 JAXB 将内嵌的JAVA对象转换为 xml文件 1. 需求2. 实现&#xff08;1&#xff09;FileDesc类&#xff08;2&#xff09;MetaFileXml类&#xff08;3&#xff09;生成对应的xml文件 1. 需求 获取一个目录下所有文件的元数据信息&#xff08;文件名、大小、后缀等&#xff0…

linux启动过程

当按下电源按钮启动Linux时&#xff0c;幕后发生了什么&#xff1f; 一个名为BIOS或UEFI的程序会启动运行;改程序的基本用途是让计算机 所有主要部分做好操作准备&#xff08;这些部分包括&#xff1a;键盘&#xff0c;屏幕硬盘等&#xff09; POST检查&#xff1b;测试可确保…

过滤器Filter(JavaEE有三大组件: servlet filter linstener)

目录 1、概念 2、过滤器作用 3、编写过滤器 4 过滤器链和优先级 4.1 过滤器链 2 过滤器优先级 5、过滤器应用:全局编码加身份认证拦截器 1、概念 过滤器&#xff08;Filter&#xff09;是处于客户端与服务器目标资源之间的一道过滤技术。 2、过滤器作用 执行顺序在Servl…

vue 批量导出pdf 压缩包 zip

vue 批量导出pdf 压缩包 zip 使用插件 html2canvas jspdf jszip &#xff08;百度ai搜出来的是zip-js 这个没法安装&#xff09; file-saver 思路&#xff1a; 1.使用 html2canvasjspdf 将页面转图片转pdf&#xff08;这个怎么转的可以网上搜下很多&#xff09; 2.利用jszipfil…

力扣最热一百题——最大子数组和

目录 题目链接&#xff1a;53. 最大子数组和 - 力扣&#xff08;LeetCode&#xff09; 题目描述 示例 提示&#xff1a; 解法一&#xff1a;动态规划 举例分析 时间复杂度 Java写法&#xff1a; C写法&#xff1a; 优化 总结 题目链接&#xff1a;53. 最大子数组和 …

大模型推理框架 RTP-LLM 架构解析

RTP-LLM 是阿里巴巴智能引擎团队推出的大模型推理框架&#xff0c;支持了包括淘宝、天猫、闲鱼、菜鸟、高德、饿了么、AE、Lazada 等多个业务的大模型推理场景。RTP-LLM 与当前广泛使用的多种主流模型兼容&#xff0c;使用高性能的 CUDA kernel, 包括 PagedAttention、FlashAtt…

Spring Boot-自定义banner

在 Spring Boot 应用中&#xff0c;你可以自定义启动时显示的 banner。这些 banner 可以包括图形、文字或者其他形式的标识。如图所示&#xff1a; 1. 使用 banner.txt 文件 默认情况下&#xff0c;Spring Boot 使用项目的 banner.txt 文件中的内容作为启动时的 banner。你可以…

会员营销如何利用JSON发送短信

在当今这个数字化时代&#xff0c;企业间的竞争日益激烈&#xff0c;如何高效地触达并维护用户群体&#xff0c;提升用户粘性和忠诚度&#xff0c;成为了每个企业都必须面对的重要课题。在众多营销手段中&#xff0c;会员营销因其精准性和个性化而备受青睐。而在会员营销的策略…

Vue学习笔记 二

4、Vue基础扩展 4.1 插槽 组件的最大特性就是复用性&#xff0c;而用好插槽能大大提高组件的可复用能力在Vue中插槽是很重要的存在&#xff0c;通过插槽&#xff0c;我们可以把父组件中指定的DOM作用到子组件的任意位置&#xff0c;后面我们坐项目用到的组件库比如element-ui…

ctfshow-nodejs

什么是nodejs Node.js 是一个基于 Chrome V8 引擎的 Javascript 运行环境。可以说nodejs是一个运行环境&#xff0c;或者说是一个 JS 语言解释器 Nodejs 是基于 Chrome 的 V8 引擎开发的一个 C 程序&#xff0c;目的是提供一个 JS 的运行环境。最早 Nodejs 主要是安装在服务器…

C语言 | Leetcode C语言题解之第391题完美矩形

题目&#xff1a; 题解&#xff1a; bool isSubsequence(char* s, char* t) {int mstrlen(s); int nstrlen(t);int k0; int j0;if(mn&&m0) return true;for(int i0;i<n;i){if(s[j]t[i]){j;}if(jm) return true;}return false; }

Mac使用Elasticsearch

下载 Past Releases of Elastic Stack Software | Elastic 解压tar -xzvf elasticsearch-8.15.1-darwin-x86_64.tar.gz 修改配置文件config/elasticsearch.yml xpack.security.enabled: false xpack.security.http.ssl: enabled: false 切换目录 cd elasticsearch-8.15.1/…

ArcGIS中怎么合并多个点图层并删除重复点?

最近&#xff0c;我接到了一个怎么合并多个点图层并删除其中的重复点的咨询。 下面是我对这个问题的解决思路&#xff1a; 1、合并图层 在地理处理工具里面 选择合并 并设置好要合并的图层即可 2、接下来在 数据管理工具→常规→删除相同项 即可 希望这些建议能对大家有所帮…

【PPT学习笔记】使用PPT制作动画/手书/视频等作品的适配性和可能性?

【PPT学习笔记】使用PPT制作动画/手书等作品的可能性&#xff1f; 背景前摇&#xff1a;&#xff08;省流可不看&#xff09; 最近找到另外一份新的实习工作&#xff0c;有很多需要用到PPT动画的地方。 然而&#xff0c;我们之前制作的理工科PPT全是摒弃了形式主义的艰苦朴素…

【LeetCode】08.字符串转换整数

题目要求 解题思路 本题没有难点&#xff0c;只需注意最大整数的比较时要切换成long long 代码实现 class Solution { public:int myAtoi(string s) {//标记正负号int flag1;long long ret0;int ns.size();int i0;//去除空格while(s[i] ) i;//识别符号if(s[i]-) flag-1;i…

链动2+1模式AI智能名片S2B2C商城小程序源码在社群商业价值构建中的应用探索

摘要&#xff1a;在数字经济浪潮的推动下&#xff0c;社群作为商业生态的核心组成部分&#xff0c;其商业价值正以前所未有的速度增长。本文深入探讨了如何通过“链动21模式AI智能名片S2B2C商城小程序源码”这一前沿技术工具&#xff0c;深度挖掘并优化社群的商业价值。通过详细…