Elemento de ruta de formas 2D - Arco
El elemento Path Arc se utiliza para dibujar un arco a un punto en las coordenadas especificadas desde la posición actual.
Está representado por una clase llamada ArcTo. Esta clase pertenece al paquetejavafx.scene.shape.
Esta clase tiene 4 propiedades del tipo de datos doble, a saber:
X - La coordenada x del centro del arco.
Y - La coordenada y del centro del arco.
radiusX - El ancho de la elipse completa de la que forma parte el arco actual.
radiusY - La altura de la elipse completa de la que forma parte el arco actual.
Para dibujar el arco del elemento Path, debe pasar valores a estas propiedades.Esto se puede hacer pasándolos al constructor de esta clase, en el mismo orden, en el momento de la instanciación de la siguiente manera:
ArcTo arcTo = new ArcTo(x, y, radius, radiusY);
O, utilizando sus respectivos métodos de establecimiento de la siguiente manera:
setX(value);
setY(value);
setRadiusX(value);
setRadiusY(value);
Pasos para dibujar PathElement Arc
Para dibujar un arco a un punto especificado desde la posición actual en JavaFX, siga los pasos que se indican a continuación.
Paso 1: crear una clase
Cree una clase Java y herede la Application clase del paquete javafx.application. A continuación, puede implementar elstart() método de esta clase de la siguiente manera.
public class ClassName extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
}
}
Paso 2: crear el objeto de clase de ruta
Cree el objeto de clase de ruta como se muestra en el siguiente bloque de código.
//Creating a Path object
Path path = new Path();
Paso 3: crea una ruta
Crea el MoveToelemento de ruta y establezca las coordenadas XY en el punto inicial de la línea con las coordenadas (100, 150). Esto se puede hacer usando los métodossetX() y setY() de la clase MoveTo Como se muestra abajo.
//Moving to the starting point
MoveTo moveTo = new MoveTo();
moveTo.setX(100.0f);
moveTo.setY(150.0f);
Paso 4: Crear un objeto de la clase ArcTo
Cree la curva cuadrática del elemento de ruta instanciando la clase denominada ArcTo, que pertenece al paquete javafx.scene.shape como se muestra a continuación -
//Creating an object of the class ArcTo
ArcTo arcTo = new ArcTo()
Paso 5: Establecer propiedades para el elemento de arco
Especifique las coordenadas x, y del centro de la elipse (de la cual este arco forma parte). Luego, puede especificar el radioX, radioY, el ángulo inicial y la longitud del arco utilizando sus respectivos métodos de establecimiento como se muestra a continuación.
//setting properties of the path element arc
arcTo.setX(300.0);
arcTo.setY(50.0);
arcTo.setRadiusX(50.0);
arcTo.setRadiusY(50.0);
Paso 6: agregar elementos a la lista observable de la clase de ruta
Agregar los elementos de la ruta MoveTo y arcTo, creado en los pasos anteriores a la lista observable de la Path clase de la siguiente manera:
//Adding the path elements to Observable list of the Path class
path.getElements().add(moveTo);
path.getElements().add(cubicCurveTo);
Paso 7: creación de un objeto de grupo
Cree un objeto de grupo creando una instancia de la clase llamada Group, que pertenece al paquete javafx.scene.
Pase el objeto Line (nodo) creado en el paso anterior como parámetro al constructor de la clase Group. Esto se puede hacer para agregarlo al grupo como se muestra a continuación:
Group root = new Group(line);
Paso 8: creación de un objeto de escena
Cree una escena creando una instancia de la clase llamada Scene que pertenece al paquete javafx.scene. A esta clase, pase el objeto Grupo(root) creado en el paso anterior.
Además del objeto raíz, también puede pasar dos parámetros dobles que representan la altura y el ancho de la pantalla junto con el objeto de la clase Group de la siguiente manera:
Scene scene = new Scene(group ,600, 300);
Paso 9: Establecer el título del escenario
Puede establecer el título del escenario utilizando el setTitle() método del Stageclase. losprimaryStage es un objeto Stage que se pasa al método de inicio de la clase de escena como parámetro.
Utilizando el primaryStage objeto, establezca el título de la escena como Sample Application como sigue.
primaryStage.setTitle("Sample Application");
Paso 10: Agregar escena al escenario
Puede agregar un objeto de escena al escenario usando el método setScene() de la clase nombrada Stage. Agregue el objeto Scene preparado en los pasos anteriores utilizando este método como se muestra a continuación:
primaryStage.setScene(scene);
Paso 11: Visualización del contenido del escenario
Muestre el contenido de la escena usando el método llamado show() del Stage clase de la siguiente manera.
primaryStage.show();
Paso 12: Lanzamiento de la aplicación
Inicie la aplicación JavaFX llamando al método estático launch() del Application class del método principal de la siguiente manera.
public static void main(String args[]){
launch(args);
}
Ejemplo
A continuación se muestra un programa que dibuja un arco desde el punto actual hasta una posición específica utilizando la clase Path de JavaFX. Guarde este código en un archivo con el nombreArcExample.java.
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.shape.ArcTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
public class ArcExample extends Application {
@Override
public void start(Stage stage) {
//Creating an object of the class Path
Path path = new Path();
//Moving to the starting point
MoveTo moveTo = new MoveTo();
moveTo.setX(250.0);
moveTo.setY(250.0);
//Instantiating the arcTo class
ArcTo arcTo = new ArcTo();
//setting properties of the path element arc
arcTo.setX(300.0);
arcTo.setY(50.0);
arcTo.setRadiusX(50.0);
arcTo.setRadiusY(50.0);
//Adding the path elements to Observable list of the Path class
path.getElements().add(moveTo);
path.getElements().add(arcTo);
//Creating a Group object
Group root = new Group(path);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Drawing an arc through a path");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
Compile y ejecute el archivo java guardado desde el símbolo del sistema utilizando los siguientes comandos.
javac ArcExample.java
java ArcExample
Al ejecutarse, el programa anterior genera una ventana JavaFX que muestra un arco, que se dibuja desde la posición actual hasta el punto especificado, como se muestra a continuación.