JavaFX:控件Group。

group组件是一个容器组件,它不对其子组件应用特殊布局。所有子组件(节点)都位于0,0处。JavaFX组组件通常用于将一些效果或转换应用于一组控件(作为一个组)。如果需要对组内的子级进行一些布局,请将它们嵌套在布局组件内,然后将布局组件添加到组中。

Group的功能

  • Group可以管理一组节点
  • Group可以对管理的节点进行增删改查的操作
  • Group可以管理节点的属性

测试一:直接将控件添加到容器Group中

测试容器Group。Group容器将控件依次放入。控件重叠放置在容器Group对象中,先放的控件在下层,后放的在上层。如果下小上大则只能看到后添加的控件,反之可以看到前面添加的控件。

测试代码:

package javafx8.ch10;import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;/*** @copyright 2003-2023* @package   javafx8.ch10* @file      GroupTest.java* @date      2023-07-01 20:06* @author    qiao wei* @version   1.0* @brief     测试容器Group。Group容器将控件依次放入。控件重叠放置在容器Group对象中,先放的控件在下层,后放的在*            上层。如果下小上大则只能看到后添加的控件,反之可以看到前面添加的控件。* @history*/
public class GroupTest extends Application {public GroupTest() {}@Overridepublic void start(Stage primaryStage) throws Exception {Button smallButton = new Button("Small button");Button bigButton = new Button("This is a big button");Group group = new Group();// 按钮控件放置顺序使得大小按钮都能显示。group.getChildren().addAll(bigButton, smallButton);Button smallButton01 = new Button("Small button 01");Button bigButton01 = new Button("This is a big button 01");Group group1 = new Group();// 按钮控件放置顺序使得只能大按钮显示。group1.getChildren().addAll(smallButton01, bigButton01);HBox hBox = new HBox(5);hBox.getChildren().addAll(group, group1);primaryStage.setScene(new Scene(hBox));primaryStage.show();}public static void main(String[] args) {Application.launch(GroupTest.class, args);}
}

测试结果:

测试二:将控件间Group旋转、阴影设置,影响容器中的所有控件

测试代码:

package javafx8.ch10;import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.effect.DropShadow;
import javafx.scene.layout.Border;
import javafx.scene.layout.BorderStroke;
import javafx.scene.layout.BorderStrokeStyle;
import javafx.scene.layout.BorderWidths;
import javafx.scene.layout.CornerRadii;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;/*** @copyright 2003-2023* @package   learn.javafx8.javafx8.ch10* @file      GroupEffect.java* @date      2023-08-19 15:31* @author    qiao wei* @version   1.0* @brief     Layout。对容器Group对象进行设置,影响作用于Group容器中所有控件。* @history*/
public class GroupEffect extends Application {public GroupEffect() {}@Overridepublic void start(Stage primayStage) throws Exception {
//        setWidget(primayStage);setWidget01(primayStage);}public static void main(String[] args) {try {Application.launch(GroupEffect.class, args);} catch (Exception exception) {exception.printStackTrace();}}/*** @class   GroupEffect* @date    2023-12-28 17:22* @author  qiao wei* @version 1.0* @brief   设置控件Group中所有控件的位置,设置的位置只能是控件Group的绝对位置。* @param   * @return  * @throws*/private void setWidget(Stage stage) {// Create two buttons。Set the absolute locations of the buttons。Button okButton = new Button("OK");Button cancelButton = new Button("Cancel");okButton.setLayoutX(100);okButton.setLayoutY(100);cancelButton.setLayoutX(150);cancelButton.setLayoutY(10);/*** Group对象的所有设置都作用于所有子控件。* 1:Set a drop shadow effect.* 2:Rotate by 10 degrees clockwise.* 3:Set the opacity to 80%.*/Group root = new Group();root.setEffect(new DropShadow());root.setRotate(45);root.setOpacity(0.8);root.getChildren().addAll(okButton, cancelButton);stage.setScene(new Scene(root));stage.show();}/*** @class   GroupEffect* @date    2023-12-28 17:23* @author  qiao wei* @version 1.0* @brief   设置控件Group的边框、阴影、旋转属性。* @param   * @return  * @throws*/private void setWidget01(Stage stage) {// 创建2个按钮实例。Button okButton = new Button("OK");Button cancelButton = new Button("Cancel");HBox hBox = new HBox(5);hBox.getChildren().addAll(okButton, cancelButton);hBox.setBorder(new Border(new BorderStroke(Color.BLUE,BorderStrokeStyle.DASHED,new CornerRadii(45),new BorderWidths(3))));Group root = new Group(hBox);root.setEffect(new DropShadow());root.setRotate(15);stage.setScene(new Scene(root));stage.show();}
}

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

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

相关文章

使用自相关求周期性

测量不确定性和噪声有时会导致难以发现信号中的振荡行为,即使该震荡行为是预期存在的。 周期信号的自相关序列与信号本身具有相同的周期特征。因此,自相关可以帮助验证周期的存在并确定其持续时间。 以由办公楼内温度计采集的一组温度数据为例。该设备每…

Vue : v-if, v-show

目录 v-show v-if v-show <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>…

【XR806开发板试用】语音紧急呼叫系统

1.背景介绍 老人和小孩子独自在家的时候如果遇到紧急情况&#xff0c;通过拨打电话或者微信的方式通知家人存在操作不便的问题。例如&#xff0c;如果老人摔倒了手机很可能不在身边&#xff0c;对小孩来说手机的操作又过于复杂。针对这种情况&#xff0c;研发一种主动语音上报…

GitHub教程-自定义个人页制作

GitHub是全球最大的代码托管平台&#xff0c;除了存放代码&#xff0c;它还允许用户个性化定制自己的主页&#xff0c;展示个人特色、技能和项目。本教程旨在向GitHub用户展示如何制作个性化主页&#xff0c;同时&#xff0c;介绍了GitHub Actions的应用&#xff0c;可以自动化…

如何在无公网IP环境下远程访问Serv-U FTP服务器共享文件

文章目录 1. 前言2. 本地FTP搭建2.1 Serv-U下载和安装2.2 Serv-U共享网页测试2.3 Cpolar下载和安装 3. 本地FTP发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 科技日益发展的今天&#xff0c;移动电子设备似乎成了我们生活的主角&#xff0c;智能…

2023年,我46岁,进入关机模式,稳了

关键词&#xff1a;持续关机、稳住基本盘、力量训练、新开端。 持续关机 对于性格内向的我&#xff0c;过上安静的生活才是美好岁月的真正开端。我尽量减少不必要的活动&#xff0c;能不出门就不出门。 在10月份&#xff0c;我停止了日更栏目“大志聊赚钱”&#xff0c;该栏目…

【Docker】添加指定用户到指定用户组

运行Docker ps命令&#xff0c;报错&#xff1a;/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied 创建docker用户组 安装docker时默认已经创建好 sudo groupadd docker添加用户加入docker用户组 此处以用户user为例 sudo usermo…

Linux自定义shell编写

Linux自定义shell编写 一.最终版本展示1.动图展示2.代码展示 二.具体步骤1.打印提示符2.解析命令行3.分析是否是内建命令1.shell对于内建名令的处理2.cd命令3.cd函数的实现4.echo命令的实现5.export命令的实现6.内建命令函数的实现 4.创建子进程通过程序替换执行命令5.循环往复…

【开源】基于Vue+SpringBoot的公司货物订单管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 客户管理模块2.2 商品维护模块2.3 供应商管理模块2.4 订单管理模块 三、系统展示四、核心代码4.1 查询供应商信息4.2 新增商品信息4.3 查询客户信息4.4 新增订单信息4.5 添加跟进子订单 五、免责说明 一、摘要 1.1 项目…

多功能演示工具ProVideoPlayer2 mac特色介绍

ProVideoPlayer2 mac是用于大多数任何生产的首选多功能演示工具。ProVideoPlayer 2是一种动态视频播放和处理媒体服务器&#xff0c;可将视频映射&#xff08;包括播放和实时视频输入&#xff09;实时控制到一个或多个输出。包括实时效果&#xff0c;调度&#xff0c;网络同步和…

Spring-5-切入点的高级使用

Spring提供了两个额外的Pointcut实现&#xff0c;分别是ComposablePointcut和ControlFlowPointcut,它们提供了所需的灵活性。 使用控制流切入点 由ControlFlowPointcut类实现的Spring控制流切入点类似于许多其他AOP实现中可用的cflow构造&#xff0c;尽管功能上没有那么强大。…

Python+Yolov5+Qt交通标志特征识别窗体界面相片视频摄像头

程序示例精选 PythonYolov5Qt交通标志特征识别窗体界面相片视频摄像头 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《PythonYolov5Qt交通标志特征识别窗体界面相片视频摄像头》编写代码&a…

电子合同如何验证有效性?教你一眼避雷无效合同!

你是否收到过电子合同&#xff0c;却对它是否有效感到困惑&#xff1f; 要验证电子合同是否有效&#xff0c;首先要看它的电子签章是否符合要求。 电子签名怎么才可靠&#xff1f; 电子签名同时满足以下条件&#xff0c;就是可靠签名&#xff0c;也就是具有法律效力的电子签名…

Unity 旋转跟随

Unity 使用任意一个局部轴指向目标 效果&#xff1a; 主要用于在编辑器中可视化对象的朝向&#xff0c;同时提供了选择不同轴向的功能。在运行时&#xff0c;物体将根据所选择的轴向朝向目标&#xff0c;并在 Scene 视图中绘制一个带箭头的圆环。 定义轴向枚举&#xff1a;…

车联网的安全风险与应对措施

安全风险 1、恶意软件 攻击者可以通过入侵厂商或供应商网络&#xff0c;用恶意软件&#xff08;如病毒、木马、勒索软件等&#xff09;感染车联网系统组件&#xff0c;从而获得对车辆的控制权或窃取敏感信息。例如&#xff0c;一名安全研究人员成功入侵了特斯拉&#xff08;T…

校园安全风险管理系统

随着社会的不断发展和进步&#xff0c;教育行业也逐渐走向了信息化、智能化管理。校园作为教育事业的重要场所&#xff0c;其安全和管理问题一直备受关注。为了确保校园的安全和管理&#xff0c;各种校园管理平台应运而生。 其中&#xff0c;凡尔码搭建的校园安全管理系统为校园…

CodeWhisperer:编码世界中的声音启迪者

人烟 导语&#xff1a; 在数字化时代&#xff0c;编码已经成为了一种不可或缺的技能。而 CodeWhisperer&#xff08;编码世界中的声音启迪者&#xff09;则以其卓越的技术和深厚的知识为人们带来了独特的启发和指导。本文将介绍 CodeWhisperer 的背景和成就&#xff0c;探讨他是…

PowerShell Instal 一键部署gitea

gitea 前言 Gitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 Gitea 最初是从 Gogs 分支而来…

土壤侵蚀模型地形因子计算工具(2.0版本)

土壤侵蚀模型地形因子计算工具&#xff08;2.0版本&#xff09; 土壤侵蚀模型地形因子计算工具&#xff08;2.0版本)。该软件为符素华老师、刘宝元老师和周贵云老师开发的。2.0 版本在 1.0 版本的基础上修改了当坡长大于临界坡长后的坡长因子算法。2.0 中用整坡坡长因子计算公式…

nfs高可用部署

一、前言 为了避免nfs单点问题导致的服务不可用&#xff0c;使用以下架构实现nfs的高可用&#xff0c;keepalivedinotifyrsyncnfs&#xff0c;keepalived实现nfs的高可用&#xff0c;inotify持续监控nfs数据目录的变化&#xff0c;发生变化后通过rsync进行同步到备节点&#xf…