JavaFX - Línea de elementos de ruta de formas 2D

El elemento de ruta line se utiliza para dibujar una línea recta a un punto en las coordenadas especificadas desde la posición actual.

Está representado por una clase llamada LineTo. Esta clase pertenece al paquetejavafx.scene.shape.

Esta clase tiene 2 propiedades del tipo de datos doble, a saber:

  • X - La coordenada x del punto al que se trazará una línea desde la posición actual.

  • Y - La coordenada y del punto al que se debe trazar una línea desde la posición actual.

Para dibujar una línea, 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, como se muestra a continuación:

LineTO line = new LineTo(x, y);

O, utilizando sus respectivos métodos de establecimiento de la siguiente manera:

setX(value); 
setY(value);

Pasos para dibujar PathElement Line

Para dibujar una línea 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 e implementar el start() 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

Puede crear el objeto de clase de ruta como se muestra a continuación.

//Creating a Path object 
Path path = new Path();

Paso 3: Establecer el camino

Crea el MoveToelemento de ruta y establezca las coordenadas XY al punto de inicio de la línea a las coordenadas (100, 150). Esto se puede hacer usando los métodossetX() y setY() de la clase MoveTo como se muestra a continuación.

//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 LineTo

Cree la línea del elemento de ruta instanciando la clase llamada LineTo que pertenece al paquete javafx.scene.shape como sigue.

//Creating an object of the class LineTo  
LineTo lineTo = new LineTo();

Paso 5: Establecer propiedades para el elemento de línea

Especifique las coordenadas del punto hasta el que se dibujará una línea desde la posición actual. Esto se puede hacer configurando las propiedades xey usando sus respectivos métodos de establecimiento como se muestra en el siguiente bloque de código.

//Setting the Properties of the line element 
lineTo.setX(500.0f); 
lineTo.setY(150.0f);

Paso 6: agregar elementos a la lista observable de la clase de ruta

Agregar los elementos de la ruta MoveTo y LineTo creado en los pasos anteriores a la lista observable de la Path clase como se muestra a continuación -

//Adding the path elements to Observable list of the Path class   
path.getElements().add(moveTo); 
path.getElements().add(lineTo);

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 debe hacerse 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

El siguiente programa muestra cómo dibujar una línea recta desde el punto actual hasta una posición especificada usando la clase Path de JavaFX. Guarde este código en un archivo con el nombreLineToExample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.scene.shape.LineTo; 
import javafx.scene.shape.MoveTo; 
import javafx.scene.shape.Path; 
import javafx.stage.Stage;  

public class LineToExample extends Application { 
   @Override 
   public void start(Stage stage) {
      //Creating a Path object 
      Path path = new Path();  
      
      //Moving to the starting point 
      MoveTo moveTo = new MoveTo(); 
      moveTo.setX(100.0f); 
      moveTo.setY(150.0f); 
         
      //Instantiating the LineTo class  
      LineTo lineTo = new LineTo(); 
         
      //Setting the Properties of the line element 
      lineTo.setX(500.0f); 
      lineTo.setY(150.0f);      
       
      //Adding the path elements to Observable list of the Path class   
      path.getElements().add(moveTo); 
      path.getElements().add(lineTo); 
         
      //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 a Line"); 
         
      //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 LineToExample.java 
java LineToExample

Al ejecutarse, el programa anterior genera una ventana JavaFX que muestra una línea recta, que se dibuja desde la posición actual hasta el punto especificado, como se muestra a continuación.