- JavaFX 教程
- JavaFX - 首页
- JavaFX - 概述
- JavaFX 安装和架构
- JavaFX - 环境
- JavaFX - 使用 Netbeans 安装
- JavaFX - 使用 Eclipse 安装
- JavaFX - 使用 Visual Studio Code 安装
- JavaFX - 架构
- JavaFX - 应用程序
- JavaFX 2D 形状
- JavaFX - 2D 形状
- JavaFX - 绘制直线
- JavaFX - 绘制矩形
- JavaFX - 绘制圆角矩形
- JavaFX - 绘制圆形
- JavaFX - 绘制椭圆
- JavaFX - 绘制多边形
- JavaFX - 绘制折线
- JavaFX - 绘制三次贝塞尔曲线
- JavaFX - 绘制二次贝塞尔曲线
- JavaFX - 绘制弧形
- JavaFX - 绘制 SVG 路径
- JavaFX 2D 对象属性
- JavaFX - 描边类型属性
- JavaFX - 描边宽度属性
- JavaFX - 描边填充属性
- JavaFX - 描边属性
- JavaFX - 描边线连接属性
- JavaFX - 描边斜接限制属性
- JavaFX - 描边线端点属性
- JavaFX - 平滑属性
- JavaFX 路径对象
- JavaFX - 路径对象
- JavaFX - LineTo 路径对象
- JavaFX - HLineTo 路径对象
- JavaFX - VLineTo 路径对象
- JavaFX - QuadCurveTo 路径对象
- JavaFX - CubicCurveTo 路径对象
- JavaFX - ArcTo 路径对象
- JavaFX 颜色和纹理
- JavaFX - 颜色
- JavaFX - 线性渐变图案
- JavaFX - 径向渐变图案
- JavaFX 文本
- JavaFX - 文本
- JavaFX 特效
- JavaFX - 特效
- JavaFX - 颜色调整特效
- JavaFX - 颜色输入特效
- JavaFX - 图片输入特效
- JavaFX - 混合特效
- JavaFX - 辉光特效
- JavaFX - 泛光特效
- JavaFX - 方框模糊特效
- JavaFX - 高斯模糊特效
- JavaFX - 运动模糊特效
- JavaFX - 反射特效
- JavaFX - 棕褐色调特效
- JavaFX - 阴影特效
- JavaFX - 投影阴影特效
- JavaFX - 内阴影特效
- JavaFX - 照明特效
- JavaFX - 远光源特效
- JavaFX - 聚光灯特效
- JavaFX - 点光源特效
- JavaFX - 位移贴图
- JavaFX - 透视变换
- JavaFX 动画
- JavaFX - 动画
- JavaFX - 旋转过渡
- JavaFX - 缩放过渡
- JavaFX - 平移过渡
- JavaFX - 淡入淡出过渡
- JavaFX - 填充过渡
- JavaFX - 描边过渡
- JavaFX - 顺序过渡
- JavaFX - 并行过渡
- JavaFX - 暂停过渡
- JavaFX - 路径过渡
- JavaFX 图片
- JavaFX - 图片
- JavaFX 3D 形状
- JavaFX - 3D 形状
- JavaFX - 创建长方体
- JavaFX - 创建圆柱体
- JavaFX - 创建球体
- JavaFX 事件处理
- JavaFX - 事件处理
- JavaFX - 使用便捷方法
- JavaFX - 事件过滤器
- JavaFX - 事件处理器
- JavaFX UI 控件
- JavaFX - UI 控件
- JavaFX - 列表视图
- JavaFX - 手风琴
- JavaFX - 按钮栏
- JavaFX - 选择框
- JavaFX - HTML 编辑器
- JavaFX - 菜单栏
- JavaFX - 分页
- JavaFX - 进度指示器
- JavaFX - 滚动窗格
- JavaFX - 分隔符
- JavaFX - 滑块
- JavaFX - 微调器
- JavaFX - 分割窗格
- JavaFX - 表格视图
- JavaFX - 标签页窗格
- JavaFX - 工具栏
- JavaFX - 树视图
- JavaFX - 标签
- JavaFX - 复选框
- JavaFX - 单选按钮
- JavaFX - 文本字段
- JavaFX - 密码字段
- JavaFX - 文件选择器
- JavaFX - 超链接
- JavaFX - 工具提示
- JavaFX - 警报框
- JavaFX - 日期选择器
- JavaFX - 文本区域
- JavaFX 图表
- JavaFX - 图表
- JavaFX - 创建饼图
- JavaFX - 创建折线图
- JavaFX - 创建面积图
- JavaFX - 创建条形图
- JavaFX - 创建气泡图
- JavaFX - 创建散点图
- JavaFX - 创建堆叠面积图
- JavaFX - 创建堆叠条形图
- JavaFX 布局面板
- JavaFX - 布局面板
- JavaFX - HBox 布局
- JavaFX - VBox 布局
- JavaFX - BorderPane 布局
- JavaFX - StackPane 布局
- JavaFX - TextFlow 布局
- JavaFX - AnchorPane 布局
- JavaFX - TilePane 布局
- JavaFX - GridPane 布局
- JavaFX - FlowPane 布局
- JavaFX CSS
- JavaFX - CSS
- JavaFX 多媒体
- JavaFX - 处理多媒体
- JavaFX - 播放视频
- JavaFX 有用资源
- JavaFX - 快速指南
- JavaFX - 有用资源
- JavaFX - 讨论
JavaFX - 绘制圆形
圆是所有与一个固定点(圆心)距离相等(圆的半径)的点的轨迹。换句话说,圆是一条形成封闭环路的线,环路上的每个点到中心点的距离都相同。
圆由两个参数定义:
中心 - 它是一个圆内的点。圆上的所有点到中心点的距离都相等。
半径 - 半径是从圆心到圆上任何一点的距离。它是直径的一半。
JavaFX 中的圆
在 JavaFX 中,圆由名为 Circle 的类表示。此类属于包 javafx.scene.shape。
通过实例化此类,您可以在 JavaFX 中创建一个 Circle 节点。
此类具有 3 个 double 数据类型的属性:
centerX - 圆心的 x 坐标。
centerY - 圆心的 y 坐标。
radius - 圆的半径(以像素为单位)。
要绘制一个圆,您需要向这些属性传递值,方法是在实例化时按相同的顺序将它们传递给此类的构造函数,或者使用 setter 方法。
绘制圆的步骤
按照以下步骤在 JavaFX 中绘制一个圆。
步骤 1:创建圆
您可以通过实例化名为 Circle 的类(属于包 javafx.scene.shape)在 JavaFX 中创建一个圆。整个 JavaFX 代码必须写在 Application 类的 start() 方法内,如下所示:
public class ClassName extends Application {
public void start(Stage primaryStage) throws Exception {
// Creating a circle object
Circle circle = new Circle();
}
}
步骤 2:设置圆的属性
使用各自的 setter 方法,在 start() 方法中指定圆心的 x、y 坐标和圆的半径,如下面的代码块所示。
circle.setCenterX(300.0f); circle.setCenterY(135.0f); circle.setRadius(100.0f);
步骤 3:将圆对象添加到 Group
通过将 Circle 对象作为参数值传递给它的构造函数,实例化包 javafx.scene 的 Group 类,如下所示:
Group root = new Group(circle);
步骤 4:启动应用程序
创建 2D 对象后,请按照以下步骤正确启动应用程序:
首先,通过将 Group 对象作为参数值传递给它的构造函数来实例化名为 Scene 的类。您可以将应用程序屏幕的尺寸作为可选参数传递给此构造函数。
然后,使用 Stage 类的 setTitle() 方法设置舞台的标题。
现在,使用名为 Stage 的类的 setScene() 方法将 Scene 对象添加到舞台。
使用名为 show() 的方法显示场景的内容。
最后,在 launch() 方法的帮助下启动应用程序。
示例
以下程序使用 JavaFX 生成一个圆。将此代码保存在名为 CircleExample.java 的文件中。
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.shape.Circle;
public class CircleExample extends Application {
@Override
public void start(Stage stage) {
//Drawing a Circle
Circle circle = new Circle();
//Setting the properties of the circle
circle.setCenterX(300.0f);
circle.setCenterY(135.0f);
circle.setRadius(100.0f);
//Creating a Group object
Group root = new Group(circle);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Drawing a Circle");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
使用以下命令从命令提示符编译并执行保存的 java 文件。
javac --module-path %PATH_TO_FX% --add-modules javafx.controls CircleExample.java java --module-path %PATH_TO_FX% --add-modules javafx.controls CircleExample
输出
执行上述程序后,将生成一个 JavaFX 窗口,其中显示如下所示的圆形。
示例
让我们再来看一个例子,将圆形作为奥运标志的一部分来绘制。将文件命名为 OlympicCircle.java。
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.scene.shape.Circle;
public class OlympicCircle extends Application {
@Override
public void start(Stage stage) {
//Drawing a Circle
Circle circle1 = new Circle(100.0f, 50.0f, 50.0f);
circle1.setStroke(Color.BLUE);
circle1.setFill(Color.WHITE);
Circle circle2 = new Circle(175.0f, 50.0f, 50.0f);
circle2.setStroke(Color.BLACK);
circle2.setFill(Color.WHITE);
Circle circle3 = new Circle(250.0f, 50.0f, 50.0f);
circle3.setStroke(Color.RED);
circle3.setFill(Color.WHITE);
Circle circle4 = new Circle(75.0f, 125.0f, 50.0f);
circle4.setStroke(Color.YELLOW);
circle4.setFill(Color.WHITE);
Circle circle5 = new Circle(150.0f, 125.0f, 50.0f);
circle5.setStroke(Color.GREEN);
circle5.setFill(Color.WHITE);
//Creating a Group object
Group root = new Group();
root.getChildren().addAll(circle1,circle2,circle3,circle4,circle5);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Drawing the Olympics Symbol");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
使用以下命令从命令提示符编译并执行保存的 java 文件。
javac --module-path %PATH_TO_FX% --add-modules javafx.controls OlympicCircle.java java --module-path %PATH_TO_FX% --add-modules javafx.controls OlympicCircle
输出
执行上述程序后,将生成一个 JavaFX 窗口,其中显示如下所示的奥运标志。