JavaFX - Línea de formas 2D
En general, una línea es una estructura geométrica que une dos puntos en un plano XY.
En JavaFX, una línea está representada por una clase llamada Line. Esta clase pertenece al paquetejavafx.scene.shape.
Al crear una instancia de esta clase, puede crear un nodo de línea en JavaFX.
Esta clase tiene 4 propiedades del tipo de datos doble, a saber:
startX - La coordenada x del punto inicial de la línea.
startY - La coordenada y del punto inicial de la línea.
endX - La coordenada x del punto final de la línea.
endY - La coordenada y del punto final de la línea.
Para dibujar una línea, debe pasar valores a estas propiedades, ya sea pasándolos al constructor de esta clase, en el mismo orden, en el momento de la instanciación, de la siguiente manera:
Line line = new Line(startX, startY, endX, endY);
O, utilizando sus respectivos métodos de establecimiento de la siguiente manera:
setStartX(value);
setStartY(value);
setEndX(value);
setEndY(value);
Pasos para dibujar una línea
Siga los pasos que se indican a continuación para dibujar una línea en JavaFX.
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 una línea
Puede crear una línea en JavaFX creando una instancia de la clase llamada Line que pertenece a un paquete javafx.scene.shape, instancia esta clase de la siguiente manera.
//Creating a line object
Line line = new Line();
Paso 3: Establecer propiedades en la línea
Especifique las coordenadas para dibujar la línea en un plano XY estableciendo las propiedades startX, startY, endX y endY, utilizando sus respectivos métodos de establecimiento como se muestra en el siguiente bloque de código.
line.setStartX(100.0);
line.setStartY(150.0);
line.setEndX(500.0);
line.setEndY(150.0);
Paso 4: crear 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, para agregarlo al grupo de la siguiente manera:
Group root = new Group(line);
Paso 5: 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 (raíz), 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 6: 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 7: 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 de escena preparado en los pasos anteriores utilizando este método de la siguiente manera.
primaryStage.setScene(scene)
Paso 8: 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 9: 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 el programa que genera una línea recta usando JavaFX. Guarde este código en un archivo con el nombreDrawingLine.java.
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Line;
import javafx.stage.Stage;
public class DrawingLine extends Application{
@Override
public void start(Stage stage) {
//Creating a line object
Line line = new Line();
//Setting the properties to a line
line.setStartX(100.0);
line.setStartY(150.0);
line.setEndX(500.0);
line.setEndY(150.0);
//Creating a Group
Group root = new Group(line);
//Creating a Scene
Scene scene = new Scene(root, 600, 300);
//Setting title to the scene
stage.setTitle("Sample application");
//Adding the scene to the stage
stage.setScene(scene);
//Displaying the contents of a scene
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 DrawingLine.java
java DrawingLine
Al ejecutarse, el programa anterior genera una ventana JavaFX que muestra una línea recta como se muestra a continuación.