Arc is a portion of the curve. Arc class is used to define Arc shape.
Arc class provides below constructors to define Arc shape.
public Arc()
public Arc(double centerX, double centerY, double radiusX, double radiusY, double startAngle, double length)
centerX: the X coordinate of the center point of the arc
centerY: the Y coordinate of the center point of the arc
radiusX: the overall width (horizontal radius) of the full ellipse of which this arc is a partial section
radiusY: the overall height (vertical radius) of the full ellipse of which this arc is a partial section
startAngle: the starting angle of the arc in degrees
length: the angular extent of the arc in degrees
Example
Arc arc1 = new Arc();
Arc arc2 = new Arc(150, 150, 150, 55, 45, 240);
ArcType
ArcType is used to specify closure type for Arc objects. There are three possible Arc types. Following table summarizes the arc types.
Arc Type |
Description |
OPEN |
The closure type for an open arc with no path segments connecting the two ends of the arc segment. |
CHORD |
The closure type for an arc closed by drawing a straight line segment from the start of the arc segment to the end of the arc segment. |
ROUND |
The closure type for an arc closed by drawing straight line segments from the start of the arc segment to the center of the full ellipse and from that point to the end of the arc segment. |
arc2.setType(ArcType.CHORD);
FXML Examples
Example 1: Arc with round arc type.
<Arc fx:id="arc1" fill="lightsalmon" stroke="black" strokeWidth="5"
centerX="160"
centerY="150"
radiusX="150"
radiusY="55"
startAngle="45"
length="240"
type="round"/>
Example 2: Arc with chord arc type.
<Arc fx:id="arc2" fill="lightsalmon" stroke="black" strokeWidth="5"
centerX="500"
centerY="150"
radiusX="150"
radiusY="55"
startAngle="45"
length="240"
type="chord"/>
Example 3: Arc with open arc type.
<Arc fx:id="arc3" fill="lightsalmon" stroke="black" strokeWidth="5"
centerX="850"
centerY="150"
radiusX="150"
radiusY="55"
startAngle="45"
length="240"
type="open"/>
Find the below working application.
arcDemo.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.ArcController">
<Arc fx:id="arc1" fill="lightsalmon" stroke="black" strokeWidth="5"
centerX="160"
centerY="150"
radiusX="150"
radiusY="55"
startAngle="45"
length="240"
type="round"/>
<Arc fx:id="arc2" fill="lightsalmon" stroke="black" strokeWidth="5"
centerX="500"
centerY="150"
radiusX="150"
radiusY="55"
startAngle="45"
length="240"
type="chord"/>
<Arc fx:id="arc3" fill="lightsalmon" stroke="black" strokeWidth="5"
centerX="850"
centerY="150"
radiusX="150"
radiusY="55"
startAngle="45"
length="240"
type="open"/>
</Group>
ArcController.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.Arc;
public class ArcController implements Initializable {
@FXML
private Arc arc1;
@FXML
private Arc arc2;
@FXML
private Arc arc3;
@Override
public void initialize(URL location, ResourceBundle resources) {
}
}
ArcDemo.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 ArcDemo extends Application {
private static final String FXML_FILE = "/arcDemo.fxml";
private static final String STAGE_TITLE = "Arc 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, 1000, 400, Color.WHITE);
primaryStage.setTitle(STAGE_TITLE);
primaryStage.setScene(scene);
primaryStage.show();
}
}
Output
No comments:
Post a Comment