'CubicCurve' class is used to define a cubic B'zier parametric curve segment in (x, y) coordinate space.
Drawing a curve that intersects both the specified coordinates (startX, startY) and (endX, enfY), using the specified points (controlX1, controlY1) and (controlX2, controlY2) as B'zier control points.
CubicCurve class provide below constructors to define CubicCurve widget.
public CubicCurve()
public CubicCurve(double startX, double startY, double controlX1, double controlY1, double controlX2, double controlY2, double endX, double endY)
startX: the X coordinate of the start point
startY: the Y coordinate of the start point
controlX1: the X coordinate of the first control point
controlY1: the Y coordinate of the first control point
controlX2: the X coordinate of the second control point
controlY2: the Y coordinate of the second control point
endX: the X coordinate of the end point
endY: the Y coordinate of the end point
Example
CubicCurve cubicCurve1 = new CubicCurve();
CubicCurve cubicCurve2 = new CubicCurve(50, 400, 150, 100, 250, 500, 400, 70);
FXML example
<CubicCurve fx:id="cubicCurve" fill="lightsalmon" stroke="black" strokeWidth="5"
startX="50"
startY="400"
controlX1="150"
controlY1="100"
controlX2="250"
controlY2="500"
endX="400"
endY="70"
/>
Find the below working example.
cubicCurveDemo.fxml
<?import javafx.scene.*?>
<?import javafx.scene.shape.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<Group xmlns:fx="http://javafx.com/fxml" fx:controller="com.sample.app.controller.CubicCurveController">
<CubicCurve fx:id="cubicCurve" fill="lightsalmon" stroke="black" strokeWidth="5"
startX="50"
startY="400"
controlX1="150"
controlY1="100"
controlX2="250"
controlY2="500"
endX="400"
endY="70"
/>
</Group>
CubicCurveController.java
package com.sample.app.controller;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.shape.CubicCurve;
public class CubicCurveController implements Initializable {
@FXML
private CubicCurve cubicCurve;
@Override
public void initialize(URL location, ResourceBundle resources) {
}
}
CubicCurveDemo.java
package com.sample.app;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class CubicCurveDemo extends Application {
private static final String FXML_FILE = "/cubicCurveDemo.fxml";
private static final String STAGE_TITLE = "CubicCurve Demo";
public static void main(String args[]) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = (Parent) FXMLLoader.load(this.getClass().getResource(FXML_FILE));
Scene scene = new Scene(root, 600, 500, Color.WHITE);
primaryStage.setTitle(STAGE_TITLE);
primaryStage.setScene(scene);
primaryStage.show();
}
}
Output
No comments:
Post a Comment