JavaFX - Polígono de formas 2D
Una forma cerrada formada por una serie de segmentos de línea coplanares conectados de extremo a extremo.
Un polígono se describe mediante dos parámetros, a saber, la longitud de sus lados y las medidas de sus ángulos interiores.
En JavaFX, un polígono está representado por una clase llamada Polygon. Esta clase pertenece al paquetejavafx.scene.shape.
Al crear una instancia de esta clase, puede crear un nodo poligonal en JavaFX. Debe pasar las coordenadas x, y de los puntos por los que se debe definir el polígono en forma de matriz doble.
Puede pasar la matriz doble como parámetro del constructor de esta clase como se muestra a continuación:
Polygon polygon = new Polygon(doubleArray);
O, usando el getPoints() método de la siguiente manera -
polygon.getPoints().addAll(new Double[]{ List of XY coordinates separated by commas });
Pasos para dibujar un polígono
Para dibujar un polígono 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 un polígono
Puede crear un polígono en JavaFX creando una instancia de la clase llamada Polygon que pertenece a un paquete javafx.scene.shape. Puede crear una instancia de esta clase de la siguiente manera.
//Creating an object of the class Polygon
Polygon hexagon = new Polygon();
Paso 3: Establecer propiedades para el polígono
Especifique una matriz doble que contenga las coordenadas XY de los puntos del polígono requerido (hexágono en este ejemplo) separados por comas, usando el getPoints() método del Polygon clase, de la siguiente manera.
//Adding coordinates to the hexagon
hexagon.getPoints().addAll(new Double[]{
200.0, 50.0,
400.0, 50.0,
450.0, 150.0,
400.0, 250.0,
200.0, 250.0,
150.0, 150.0,
})
Paso 4: crear un objeto de grupo
En el start() método, cree un objeto de grupo instanciando la clase llamada Group, que pertenece al paquete javafx.scene.
Pase el objeto de nodo poligonal (hexágono), 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(hexagon);
Paso 5: creación de un objeto de escena
Cree una escena creando una instancia de la clase llamada Sceneque pertenece al paquete javafx.scene. A esta clase, pase el objeto Grupo(root), creado en el paso anterior.
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 el 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 Scene preparado en el paso anterior utilizando el método que se muestra a continuación.
primaryStage.setScene(scene);
Paso 8: Visualización del contenido del escenario
Muestre el contenido de la escena usando el método llamado show () de la clase Stage 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 un programa que genera un polígono (hexágono) utilizando JavaFX. Guarde este código en un archivo con el nombrePolygonExample.java.
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Polygon;
import javafx.stage.Stage;
public class PolygonExample extends Application {
@Override
public void start(Stage stage) {
//Creating a Polygon
Polygon polygon = new Polygon();
//Adding coordinates to the polygon
polygon.getPoints().addAll(new Double[]{
300.0, 50.0,
450.0, 150.0,
300.0, 250.0,
150.0, 150.0,
});
//Creating a Group object
Group root = new Group(polygon);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Drawing a Polygon");
//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 PolygonExample.java
java PolygonExample
Al ejecutarse, el programa anterior genera una ventana JavaFX que muestra un polígono como se muestra a continuación.