第三百三十七节 JavaFX教程 - JavaFX矩形椭圆

ops/2024/11/30 18:31:33/

JavaFX教程 - JavaFX矩形椭圆

avaFX Shape类定义了常见的形状,如线,矩形,圆,Arc,CubicCurve,Ellipse和QuadCurve。

在场景图上绘制矩形需要宽度,高度和左上角的(x,y)位置。

要在JavaFX中绘制一个矩形,我们可以使用 javafx.scene.shape.Rectangle 类。

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;public class Main extends Application {public static void main(String[] args) {Application.launch(args);}@Overridepublic void start(Stage primaryStage) {primaryStage.setTitle("");Group root = new Group();Scene scene = new Scene(root, 300, 250, Color.WHITE);Rectangle r = new Rectangle();r.setX(50);r.setY(50);r.setWidth(200);r.setHeight(100);root.getChildren().add(r); primaryStage.setScene(scene);primaryStage.show();}
}

上面的代码生成以下结果。

null

圆角矩形

Rectangle 类实现圆弧宽度和圆弧高度。我们可以使用这些功能来绘制圆角矩形。

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;public class Main extends Application {public static void main(String[] args) {Application.launch(args);}@Overridepublic void start(Stage primaryStage) {Group group = new Group();Rectangle rect = new Rectangle(20,20,200,200);rect.setArcHeight(15);rect.setArcWidth(15);rect.setStroke(Color.BLACK);group.getChildren().add(rect);Scene scene = new Scene(group, 300, 200);primaryStage.setScene(scene);primaryStage.show();}
}

上面的代码生成以下结果。

null

椭圆

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.effect.DropShadow;
import javafx.scene.paint.Color;
import javafx.scene.shape.Ellipse;
import javafx.stage.Stage;public class Main extends Application {public static void main(String[] args) {Application.launch(args);}@Overridepublic void start(Stage primaryStage) {primaryStage.setTitle("");Group root = new Group();Scene scene = new Scene(root, 300, 250, Color.WHITE);Group g = new Group();DropShadow ds = new DropShadow();ds.setOffsetY(3.0);ds.setColor(Color.color(0.4, 0.4, 0.4));Ellipse ellipse = new Ellipse();ellipse.setCenterX(50.0f);ellipse.setCenterY(50.0f);ellipse.setRadiusX(50.0f);ellipse.setRadiusY(25.0f);ellipse.setEffect(ds);g.getChildren().add(ellipse);root.getChildren().add(g);primaryStage.setScene(scene);primaryStage.show();}
}

上面的代码生成以下结果。

null


http://www.ppmy.cn/ops/137995.html

相关文章

Linux服务器CentOS操作系统运维用ntp和crontab同步网络时间

文章目录 一、概要描述二、具体操作1.查看服务器的时区2.安装ntp3.设置定时更新任务 一、概要描述 我们有台服务器,每隔3个月左右,时间会慢上超过1分钟,结果导致请求时间戳滞后,请求失败。 在经过1s钟的思索之后,想出…

创建型模式-建造者模式

建造者模式(Builder Pattern)是一种创建型设计模式,用于将一个复杂对象的构建过程与其表示分离,使得相同的构建过程可以创建不同的表示。 核心思想 将复杂对象的创建步骤分解开来,通过一步步的构建来完成对象的创建&a…

SQLServer如何导入数据库

环境: 操作系统:win11 数据库:SQL Server2019 数据库文件:先前备份的.bak文件。 前提:一定要切换到超管用户,如默认的sa用户,不然无权访问。 右键单击数据库,点击“还原数据库”。 …

RVO动态避障技术方案介绍

原文:RVO动态避障技术方案介绍 - 哔哩哔哩 我们在开发游戏的时候经常会遇到这样的问题,当我们寻路的时候,其它人也在寻路,如何避免不从其它人的位置穿过。这个叫做动态避障,目前主流的解决方案就是RVO。本节我们来介绍…

网络安全中的数据科学如何重新定义安全实践?

组织每天处理大量数据,这些数据由各个团队和部门管理。这使得全面了解潜在威胁变得非常困难,常常导致疏忽。以前,公司依靠 FUD 方法(恐惧、不确定性和怀疑)来识别潜在攻击。然而,将数据科学集成到网络安全中…

postman中获取随机数、唯一ID、时间日期(包括当前日期增减)截取指定位数的字符等

在Postman中,您可以使用内置的动态变量和编写脚本的方式来获取随机数、唯一ID、时间日期以及截取指定位数的字符。以下是具体的操作方法: 一、postman中获取随机数、唯一ID、时间日期(包括当前日期增减)截取指定位数的字符等 获取…

week 6 - SQL Select II

Overview 1. Joins 包括交叉连接(Cross)、内连接(Inner)、自然连接(Natural)、外连接(Outer) 2. ORDER BY to produce ordered output 3. 聚合函数(Aggregate Functio…

33-ESP32-蓝牙篇-00

理解蓝牙技术及其协议栈结构 介绍 在物联网(IoT)领域,蓝牙技术因其低功耗和易用性而成为连接设备的首选无线通信协议之一。ESP32 支持双模蓝牙 4.2,并且已经获得双模蓝牙 4.2 认证和蓝牙 LE 5.0 认证 一、蓝牙技术概述 什么是蓝牙? 蓝牙…