JavaFx Shape形状

news2024/12/23 17:31:08

JavaFx Shape形状

  • 1、相关子类
  • 2、屏幕坐标系
  • 3、JavaFx SVG矢量图
  • 4、Polygon箭头形状

javafx.scene.shape.Shape
在这里插入图片描述


1、相关子类

javafx.scene.shape.Linew3cschool JavaFX 线
javafx.scene.shape.Rectanglew3cschool JavaFX 矩形椭圆
javafx.scene.shape.Ellipse
javafx.scene.shape.Pathw3cschool JavaFX 路径
javafx.scene.shape.Arcw3cschool JavaFX 圆弧
javafx.scene.shape.Circle
javafx.scene.shape.Polygonw3cschool JavaFX 多边形折线
javafx.scene.shape.Polyline
javafx.scene.shape.CubicCurvew3cschool JavaFX 曲线
javafx.scene.shape.QuadCurve
javafx.scene.text.Textw3cschool JavaFX 文本
javafx.scene.shape.SVGPathJavaFX实战教程15矢量图SVG及其广泛的应用(重点)

2、屏幕坐标系

当在JavaFX场景图形上绘制时,使用屏幕坐标空间(系统)渲染线。
屏幕坐标系将(0,0)放在左上角。x坐标沿x轴移动点。从上到下移动点时,y坐标值增加。
在这里插入图片描述

3、JavaFx SVG矢量图

javafx.scene.shape.SVGPath
JavaFX实战教程15矢量图SVG及其广泛的应用(重点)

定义 SVG 路径编码字符串,如在: http://www.w3.org/TR/SVG/paths.html 中path d参数指定。

<svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18955">
   <path d="M512 1024A512 512 0 1 1 512 0a512 512 0 0 1 0 1024z m-63.168-320.128V832h130.624v-128.128H448.832zM311.04 416.576h122.304c0-14.976 1.664-28.992 4.992-41.984a101.12 101.12 0 0 1 15.36-34.112c7.04-9.728 15.872-17.472 26.688-23.296 10.816-5.824 23.68-8.768 38.656-8.768 22.208 0 39.552 6.08 52.032 18.304 12.48 12.16 18.688 31.04 18.688 56.576 0.576 14.976-2.048 27.52-7.872 37.44-5.824 9.984-13.44 19.2-22.912 27.52-9.408 8.32-19.648 16.64-30.72 24.96-11.136 8.32-21.696 18.112-31.68 29.44a171.904 171.904 0 0 0-26.24 41.216c-7.424 16.064-12.032 36.032-13.696 59.904v37.44H568.96v-31.616c2.24-16.64 7.68-30.528 16.256-41.6 8.576-11.072 18.432-20.928 29.504-29.504 11.136-8.64 22.912-17.216 35.392-25.792a162.048 162.048 0 0 0 59.904-75.264c6.912-17.28 10.368-39.168 10.368-65.792a149.312 149.312 0 0 0-44.928-104c-16.064-16.064-37.248-29.504-63.616-40.32-26.368-10.88-59.2-16.256-98.56-16.256-30.528 0-58.112 5.12-82.816 15.36a183.68 183.68 0 0 0-63.232 42.88A195.392 195.392 0 0 0 326.4 334.208c-9.728 24.96-14.848 52.48-15.36 82.368z" fill="#262626" p-id="18956">
   </path>
</svg>
VBox box = new VBox();
final Scene scene = new Scene(box, 300, 250);
scene.setFill(null);

/**
 * <svg class="icon" style="width: 1em;height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18955">
 *     <path d="M512 1024A512 512 0 1 1 512 0a512 512 0 0 1 0 1024z m-63.168-320.128V832h130.624v-128.128H448.832zM311.04 416.576h122.304c0-14.976 1.664-28.992 4.992-41.984a101.12 101.12 0 0 1 15.36-34.112c7.04-9.728 15.872-17.472 26.688-23.296 10.816-5.824 23.68-8.768 38.656-8.768 22.208 0 39.552 6.08 52.032 18.304 12.48 12.16 18.688 31.04 18.688 56.576 0.576 14.976-2.048 27.52-7.872 37.44-5.824 9.984-13.44 19.2-22.912 27.52-9.408 8.32-19.648 16.64-30.72 24.96-11.136 8.32-21.696 18.112-31.68 29.44a171.904 171.904 0 0 0-26.24 41.216c-7.424 16.064-12.032 36.032-13.696 59.904v37.44H568.96v-31.616c2.24-16.64 7.68-30.528 16.256-41.6 8.576-11.072 18.432-20.928 29.504-29.504 11.136-8.64 22.912-17.216 35.392-25.792a162.048 162.048 0 0 0 59.904-75.264c6.912-17.28 10.368-39.168 10.368-65.792a149.312 149.312 0 0 0-44.928-104c-16.064-16.064-37.248-29.504-63.616-40.32-26.368-10.88-59.2-16.256-98.56-16.256-30.528 0-58.112 5.12-82.816 15.36a183.68 183.68 0 0 0-63.232 42.88A195.392 195.392 0 0 0 326.4 334.208c-9.728 24.96-14.848 52.48-15.36 82.368z"
 *     fill="#262626"
 *     p-id="18956">
 *     </path>
 * </svg>
 */
SVGPath svg = new SVGPath();
String path_D = "M512 1024A512 512 0 1 1 512 0a512 512 0 0 1 0 1024z m-63.168-320.128V832h130.624v-128.128H448.832zM311.04 416.576h122.304c0-14.976 1.664-28.992 4.992-41.984a101.12 101.12 0 0 1 15.36-34.112c7.04-9.728 15.872-17.472 26.688-23.296 10.816-5.824 23.68-8.768 38.656-8.768 22.208 0 39.552 6.08 52.032 18.304 12.48 12.16 18.688 31.04 18.688 56.576 0.576 14.976-2.048 27.52-7.872 37.44-5.824 9.984-13.44 19.2-22.912 27.52-9.408 8.32-19.648 16.64-30.72 24.96-11.136 8.32-21.696 18.112-31.68 29.44a171.904 171.904 0 0 0-26.24 41.216c-7.424 16.064-12.032 36.032-13.696 59.904v37.44H568.96v-31.616c2.24-16.64 7.68-30.528 16.256-41.6 8.576-11.072 18.432-20.928 29.504-29.504 11.136-8.64 22.912-17.216 35.392-25.792a162.048 162.048 0 0 0 59.904-75.264c6.912-17.28 10.368-39.168 10.368-65.792a149.312 149.312 0 0 0-44.928-104c-16.064-16.064-37.248-29.504-63.616-40.32-26.368-10.88-59.2-16.256-98.56-16.256-30.528 0-58.112 5.12-82.816 15.36a183.68 183.68 0 0 0-63.232 42.88A195.392 195.392 0 0 0 326.4 334.208c-9.728 24.96-14.848 52.48-15.36 82.368z";
svg.setContent(path_D);
//        svg.setFill(Paint.valueOf("#262626"));
svg.setFill(Color.SKYBLUE);
LinearGradient paint = new LinearGradient(
        0.0, 0.0, 1.0, 0.0, true, CycleMethod.NO_CYCLE,
        new Stop(0.0, new Color(0.11, 0.52, 0.93, 1.0)),
        new Stop(1.0, new Color(0.68, 0.05, 0.93, 1.0)));;
//        svg.setFill(paint);

XLog.d(svg.toString());
Region region = new Region();
region.setBackground(new Background(new BackgroundFill(paint, null,null)));
region.setShape(svg);
region.setPrefSize(250, 250);
region.setMaxSize(250,250);

box.getChildren().add(region);
stage.setScene(scene);
stage.show();

在这里插入图片描述

4、Polygon箭头形状

public PolygonController(Stage stage){
    VBox box = new VBox();
    final Scene scene = new Scene(box,300, 250);
    scene.setFill(null);

    Polygon mPolygon = new Polygon();
    mPolygon.getPoints().addAll(new Double[]{
            100.0, 110.0,
            100.0 + 100, 110.0 + 10,
            100.0 + 100, 110.0 + 30,
            250.0, 110.0,
            100.0 + 100, 110.0 - 30,
            100.0 + 100, 110.0 - 10,
            100.0, 110.0
    });
    mPolygon.setFill(Color.RED);

    box.getChildren().add(mPolygon);

    stage.setScene(scene);
    stage.show();
}

在这里插入图片描述

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

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

相关文章

开源办公套件 ONLYOFFICE文档7.4新功能

随着现代办公的信息化发展&#xff0c;我们处理文档时&#xff0c;对在线协作的需求也越来越大。选择一款简单高效、免费又无广告弹窗的办公套件便非常重要。除了昂贵的微软Office&#xff0c;太多广告的WPS&#xff0c;你还有另一个选择&#xff1a;ONLYOFFICE。 什么是 ONLY…

论程序员提问的艺术

最近工作比较忙&#xff0c;加上空闲时间大部分都是在维护开发【云狗AI】&#xff0c;所以也有一段时间没更新视频了&#xff0c;有不懂的&#xff0c;也可以问一下【云狗AI】以后我也会花更多的时间在维护这个项目中。争取给大家带来更好的体验。 主要是因为最近没发现什么特…

播放WebRTC开源库回调出来的视频码流时遇到的内存越界问题排查

目录 1、执行memset操作时遇到了内存访问违例&#xff0c;导致程序崩溃 2、查看崩溃时的函数调用堆栈&#xff0c;初步怀疑是memset时有内存越界 3、存放YUV数据的buffer在执行若干操作后出现内存越界 4、加载系统库的pdb之后&#xff0c;看到了更多的函数调用堆栈&…

代码随想录二刷 day23 | 二叉树 之 669. 修剪二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树

二刷day23 669. 修剪二叉搜索树108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累加树 669. 修剪二叉搜索树 题目链接 解题思路&#xff1a; 递归三部曲 确定递归函数的参数以及返回值 这里我们为什么需要返回值呢&#xff1f; 因为是要遍历整棵树&#xff0c;做修改…

SOLIDWORKS Electrical如何绘制电线

SOLIDWORKS Electrical 是一套计算机辅助工程 (CAE) 设计工具&#xff0c;他可以帮助电气设计工程师减少创新的内在风险&#xff0c;并允许公司减少对物理原型的需求&#xff0c;从而在更短时间内以更低成本将产品推向市场。通过一组强大、直观的电气设计功能&#xff0c;设计人…

互联网大佬们的成功绝非偶然

以下排名不分先后。 一、百度李彦宏 &#xff0c;1987年阳泉市高考状元&#xff0c;考进北大。 互联网三巨头BAT的第一个字母&#xff0c;指的就是百度。创始人李彦宏是出生在普通家庭出生&#xff0c;他小时候的启蒙教育由三个姐姐负责&#xff0c;不过相比学习&#xff0c;更…

详解国产指纹芯片的工作原理以及应用领域

指纹芯片&#xff0c;是指内嵌指纹识别技术的芯片产品&#xff0c;能够片上实现指纹的图像采集、特征提取、特征比对的芯片&#xff0c;开发者可以方便的实现指纹识别的功能&#xff0c;大大降低了指纹识别行业的门槛&#xff0c;对指纹识别的推广具有十分积极的推动作用。 近几…

数据合规之监管关注要点暨风险防范建议

上市申报过程中证券监督部门最关注的三类问题为数据源合规、数据安全及数据使用合规&#xff0c;而这三类问题也是企业运营时最容易产生的问题&#xff0c;它们无疑应是拟上市企业数据合规治理的重中之重&#xff1a; 1、数据源合规之监管关注要点 1、数据信息 就获取的个人数…

RaaS(勒索软件即服务)是什么?这个模型是如何工作的?

Ransomware as a Service是一个英语术语,指的是一种商业模型&#xff0c;其中勒索软件开发者向感兴趣的恶意行为者提供工具&#xff0c;以便他们可以发起勒索软件攻击。使用者通过签约创建恶意软件即服务或加入联盟计划&#xff0c;并分发一系列勒索软件以换取一定比例的利润。…

字符串--字符串处理函数、向函数传递字符串

一、字符串处理函数 字符串处理函数库提供了很多有用的函数用于字符串处理操作&#xff08;如复制字符串和拼接字符串等&#xff09;以及确定字符串的长度。若要使用这些字符串处理函数&#xff0c;必须在程序的开头将头文件<string.h>包含到源头文件。 例题1&#xff1a…

什么是Vue的前端微服务架构(Micro Frontends)?

什么是Vue的前端微服务架构&#xff08;Micro Frontends&#xff09;&#xff1f; 前端微服务架构&#xff08;Micro Frontends&#xff09;是一种新型的前端架构风格&#xff0c;它借鉴了后端微服务架构的思想&#xff0c;将前端应用程序拆分为多个小型、独立的部分&#xff…

系统学习Spring,阿里最新产Spring全家桶进阶笔记真的很全

Spring是我们Java程序员面试和工作都绕不开的重难点。很多粉丝就经常跟我反馈说由Spring衍生出来的一系列框架太多了&#xff0c;根本不知道从何下手&#xff1b;大家学习过程中大都不成体系&#xff0c;但面试的时候都上升到源码级别了&#xff0c;你不光要清楚了解Spring源码…

混沌演练状态下,如何降低应用的MTTR(平均恢复时间) | 京东云技术团队

在企业业务领域&#xff0c;锦礼是针对福利、营销、激励等员工采购场景的一站式解决方案&#xff0c;包含面向员工、会员等弹性激励SAAS平台。由于其直接面向公司全体员工&#xff0c;其服务的高可用尤其重要&#xff0c;本文将介绍锦礼商城大促前夕&#xff0c;通过混沌工程实…

vue3 项目部署,Nginx配置https,重定向,详细流程

文章目录 前情提要应用场景安装使用 实战解析最后 前情提要 一个web项目完成后&#xff0c;我们需要打包部署上线&#xff0c;关于打包的实战在我的vite专栏里已经有过一些实践&#xff0c;今天我们来实践一些部署的过程&#xff0c;当然部署也可以由后端来完成&#xff1b; 应…

去面腾讯了(社招两年面试经验)

之前很多同学嚷嚷有没有社招经验&#xff0c;正好&#xff0c;我有个朋友去腾讯社招面试了。 他的面的是全栈开发岗位&#xff0c;工作两年&#xff0c;后端是Go&#xff0c;前端是 JavaScript Vue。 因为工作也没多久&#xff0c;就两年时间&#xff0c;所以大概率可能还是…

Linux:用户和用户组

Linux系统中可以&#xff1a; 配置多个用户配置多个用户组用户可以加入多个用户组 Linux系统关于权限的管控级别有两个&#xff0c;即&#xff1a; 针对用户的权限控制针对用户组的权限控制 1、用户组管理 创建用户组&#xff0c;语法&#xff1a; groupadd 用户组名 删除用户组…

NLP——Summarization

文章目录 Extractive summarisationSingle-documentcontent selectionTFIDF MethodLog Likelihood Ratio Method对数似然比Sentence Centrality Method 句子中心法 RST Parsing Multi-documentContent selectionMaximum Marginal Relevance 最大边际相关性Information Ordering…

详细介绍ROS中通过shell文件依次启动多个launch文件

本文主要介绍如何在ROS中通过shell文件依次启动多个launch文件&#xff0c;并介绍如何在同一个窗口的不同选项卡中依次启动多个launch文件。 一、先来看一个简单的示例&#xff1a; #!/bin/bashgnome-terminal -- bash -c "roslaunch bringup racecar_gazebo_rviz_znc.la…

Word控件Spire.Doc 【其他】教程(9):从 Word 文档中提取 OLE 对象

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

NestJs 管道(Pipe)

&#x1f384;Hi~ 大家好&#xff0c;我是小鑫同学&#xff0c;资深 IT 从业者&#xff0c;InfoQ 的签约作者&#xff0c;擅长前端开发并在这一领域有多年的经验&#xff0c;致力于分享我在技术方面的见解和心得 &#x1f680;技术&代码分享 我在 94Code 总结技术学习&…