- JavaFX 教程
- JavaFX - 首页
- JavaFX - 概述
- JavaFX 安装和架构
- JavaFX - 环境
- JavaFX - 使用 Netbeans 安装
- JavaFX - 使用 Eclipse 安装
- JavaFX - 使用 Visual Studio Code 安装
- JavaFX - 架构
- JavaFX - 应用程序
- JavaFX 二维图形
- JavaFX - 二维图形
- JavaFX - 绘制线条
- JavaFX - 绘制矩形
- JavaFX - 绘制圆角矩形
- JavaFX - 绘制圆形
- JavaFX - 绘制椭圆
- JavaFX - 绘制多边形
- JavaFX - 绘制折线
- JavaFX - 绘制三次贝塞尔曲线
- JavaFX - 绘制二次贝塞尔曲线
- JavaFX - 绘制弧形
- JavaFX - 绘制 SVG 路径
- JavaFX 二维对象的属性
- 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 - Light.Distant 效果
- JavaFX - Light.Spot 效果
- JavaFX - Point.Spot 效果
- 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 UI 控件
- JavaFX - UI 控件
- JavaFX - 列表视图
- JavaFX - 手风琴
- JavaFX - 按钮栏
- JavaFX - 选择框
- JavaFX - HTMLEditor
- 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 中,矩形由名为 Rectangle 的类表示。此类属于包 javafx.scene.shape。
通过实例化此类,您可以在 JavaFX 中创建一个矩形节点。
此类具有 4 个 double 数据类型的属性:
X - 矩形起点(左上角)的 x 坐标。
Y - 矩形起点(左上角)的 y 坐标。
宽度 - 矩形的宽度。
高度 - 矩形的高度。
要绘制矩形,您需要向这些属性传递值,方法是在实例化时按相同顺序将它们传递给此类的构造函数。
绘制矩形的步骤
您需要按照以下步骤在 JavaFX 中绘制矩形。
步骤 1:创建矩形
要在 JavaFX 中创建矩形,请实例化名为 Rectangle 的类(属于包 javafx.scene.shape),如下所示:
//Creating a rectangle object Rectangle rectangle = new Rectangle();
由于整个代码都写在 Application 类的 start() 方法中,因此 Rectangle 类也在其中实例化,如下所示:
public class ClassName extends Application { public void start(Stage primaryStage) throws Exception { // Write code here Rectangle rectangle = new Rectangle(); } }
步骤 2:设置矩形的属性
指定起始点(左上角)的 x、y 坐标以及需要绘制的矩形的高度和宽度。您可以使用各自的 setter 方法设置 x、y、height 和 width 属性来实现。
rectangle.setX(150.0f); rectangle.setY(75.0f); rectangle.setWidth(300.0f); rectangle.setHeight(150.0f);
步骤 3:将矩形对象添加到组
在此步骤中,将通过将矩形对象作为参数值传递给其构造函数来实例化包 javafx.scene 中的 Group 类,如下所示:
Group root = new Group(rectangle);
步骤 4:启动应用程序
创建二维对象后,请按照以下步骤正确启动应用程序:
首先,通过将 Group 对象作为参数值传递给其构造函数来实例化名为 Scene 的类。您可以将应用程序屏幕的尺寸作为可选参数传递给此构造函数。
然后,使用 Stage 类的 setTitle() 方法设置舞台的标题。
现在,使用名为 Stage 的类的 setScene() 方法将 Scene 对象添加到舞台。
使用名为 show() 的方法显示场景的内容。
最后,使用 launch() 方法启动应用程序。
示例
以下是生成 JavaFX 矩形的程序。将此代码保存在名为 RectangleExample.java 的文件中。
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.shape.Rectangle; public class RectangleExample extends Application { @Override public void start(Stage stage) { //Drawing a Rectangle Rectangle rectangle = new Rectangle(); //Setting the properties of the rectangle rectangle.setX(150.0f); rectangle.setY(75.0f); rectangle.setWidth(300.0f); rectangle.setHeight(150.0f); //Creating a Group object Group root = new Group(rectangle); //Creating a scene object Scene scene = new Scene(root, 600, 300); //Setting title to the Stage stage.setTitle("Drawing a Rectangle"); //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 RectangleExample.java java --module-path %PATH_TO_FX% --add-modules javafx.controls RectangleExample
输出
执行上述程序后,将生成一个 JavaFX 窗口,其中显示如下屏幕截图所示的矩形。
示例 - 绘制房屋
让我们来看另一个示例,我们尝试使用矩形绘制房屋。在这里,我们使用两个矩形和两条线来完成卡通房屋的基本版本。我们将此文件命名为 RectangleHouse.java。
import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.stage.Stage; import javafx.scene.shape.Rectangle; import javafx.scene.shape.Line; import javafx.scene.paint.Color; public class RectangleHouse extends Application { @Override public void start(Stage stage) { //Drawing a Rectangle Rectangle rectangle1 = new Rectangle(); Rectangle rectangle2 = new Rectangle(200.0f, 120.0f, 50.0f, 30.0f); rectangle2.setFill(Color.hsb(50, 1, 1)); //Setting the properties of the rectangle rectangle1.setX(150.0f); rectangle1.setY(75.0f); rectangle1.setWidth(150.0f); rectangle1.setHeight(75.0f); // Setting the properties of Lines // without setter methods Line line1 = new Line(150, 75, 225, 30); Line line2 = new Line(225, 30, 300, 75); //Creating a Group object Group root = new Group(); root.getChildren().addAll(rectangle1, rectangle2, line1, line2); //Creating a scene object Scene scene = new Scene(root, 600, 300); //Setting title to the Stage stage.setTitle("Drawing a House"); //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 RectangleHouse.java java --module-path %PATH_TO_FX% --add-modules javafx.controls RectangleHouse
输出
执行上述程序后,将生成一个 JavaFX 窗口,其中显示如下屏幕截图所示的房屋。