如何使用 JavaFX 创建二次贝塞尔曲线?
二次曲线是 XY 平面中度数为 2 的贝塞尔参数曲线。
在 JavaFX 中,圆形由 **javafx.scene.shape.QuadCurve** 类表示。它类似于 CubicCurve,但它不是使用 2 个控制点,而是使用一个控制点绘制。
此类包含 6 个属性,它们是:
**startX** - 此属性表示曲线起点的 x 坐标。您可以使用 **setStartX()** 方法为此属性设置值。
**startY** - 此属性表示曲线起点的 y 坐标。您可以使用 **setStartY()** 方法为此属性设置值。
**controlX** - 此属性表示曲线控制点的 x 坐标。您可以使用 **setControlX()** 方法为此属性设置值。
**controlY** - 此属性表示曲线控制点的 y 坐标。您可以使用 **setControlY()** 方法为此属性设置值。
**endX** - 此属性表示曲线终点的 x 坐标。您可以使用 **setEndX()** 方法为此属性设置值。
**endY** - 此属性表示曲线终点的 y 坐标。您可以使用 **setEndY()** 方法为此属性设置值。
要创建圆形,您需要:
实例化此类。
使用 setter 方法设置所需的属性,或者将它们作为参数传递给构造函数。
将创建的节点(形状)添加到 Group 对象。
示例
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.QuadCurve;
public class DrawingQuadCurve extends Application {
@Override
public void start(Stage stage) {
//Drawing a quadratic curve
QuadCurve qudraticCurve = new QuadCurve();
//Setting properties to cubic curve
qudraticCurve.setStartX(75.0f);
qudraticCurve.setStartY(75.0f);
qudraticCurve.setControlX(250.0f);
qudraticCurve.setControlY(250.0f);
qudraticCurve.setEndX(500.0f);
qudraticCurve.setEndY(260.0f);
//Setting other properties
qudraticCurve.setFill(Color.CHOCOLATE);
qudraticCurve.setStrokeWidth(8.0);
qudraticCurve.setStroke(Color.BROWN);
//Setting the scene object
Group root = new Group(qudraticCurve);
Scene scene = new Scene(root, 595, 300);
stage.setTitle("Drawing a quadratic curve");
stage.setScene(scene);
stage.show();
}
public static void main(String args[]){
launch(args);
}
}输出

广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP