JavaFX - Polilinha de formas 2D

Uma polilinha é igual a um polígono, exceto que uma polilinha não é fechada no final. Ou linha contínua composta por um ou mais segmentos de linha.

Em suma, podemos dizer que um polígono é uma figura aberta formada por segmentos de linha coplanares.

n JavaFX, uma polilinha é representada por uma classe chamada Polygon. Esta classe pertence ao pacotejavafx.scene.shape..

Ao instanciar essa classe, você pode criar um nó de polilinha no JavaFX. Você precisa passar as coordenadas x, y dos pontos pelos quais a polilinha deve ser definida na forma de uma matriz dupla.

Você pode passar a matriz dupla como um parâmetro do construtor desta classe, conforme mostrado abaixo -

Polyline polyline = new Polyline(doubleArray);

Ou, usando o getPoints() método da seguinte forma -

polyline.getPoints().addAll(new Double[]{List of XY coordinates separated by commas });

Etapas para desenhar polilinha

Para desenhar uma polilinha no JavaFX, siga as etapas fornecidas abaixo.

Etapa 1: Criação de uma classe

Crie uma classe Java e herde o Application classe do pacote javafx.application e implementar o start() método desta classe da seguinte forma.

public class ClassName extends Application { 
   @Override     
   public void start(Stage primaryStage) throws Exception {
   }    
}

Etapa 2: Criação de uma polilinha

Você pode criar uma linha em JavaFX instanciando a classe chamada Line que pertence a um pacote javafx.scene.shape. Você pode instanciar essa classe da seguinte maneira.

//Creating an object of the class Polyline 
Polyline polyline = new Polyline();

Etapa 3: Definir propriedades para a polilinha

Especifique uma matriz dupla contendo as coordenadas XY dos pontos da polilinha necessária (hexágono neste exemplo) separadas por vírgulas. Você pode fazer isso usando ogetPoints() método do Polyline classe conforme mostrado no seguinte bloco de código.

//Adding coordinates to the hexagon 
polyline.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, 
});

Etapa 4: Criação de um objeto de grupo

No start() método cria um objeto de grupo instanciando a classe chamada Grupo, que pertence ao pacote javafx.scene.

Passe o Polyline (nó) objeto, criado na etapa anterior, como um parâmetro para o construtor da classe Group, a fim de adicioná-lo ao grupo da seguinte forma -

Group root = new Group(polyline);

Etapa 5: Criação de um objeto de cena

Crie uma cena instanciando a classe chamada Scene que pertence ao pacote javafx.scene. Para esta aula passe o objeto Grupo(root) que foi criado na etapa anterior.

Além do objeto raiz, você também pode passar dois parâmetros duplos que representam a altura e a largura da tela junto com o objeto da classe Grupo da seguinte maneira.

Scene scene = new Scene(group ,600, 300);

Etapa 6: definir o título do palco

Você pode definir o título do palco usando o setTitle() método do Stageclasse. oprimaryStage é um objeto Stage que é passado para o método start da classe Scene como um parâmetro.

Usando o primaryStage objeto, defina o título da cena como Sample Application do seguinte modo.

primaryStage.setTitle("Sample Application");

Etapa 7: Adicionando cena ao palco

Você pode adicionar um objeto Scene ao palco usando o método setScene() da classe chamada Stage. Adicione o objeto Scene preparado nas etapas anteriores usando o método a seguir.

primaryStage.setScene(scene);

Etapa 8: Exibindo o conteúdo do palco

Exibir o conteúdo da cena usando o método chamado show() do Stage classe da seguinte forma.

primaryStage.show();

Etapa 9: iniciar o aplicativo

Inicie o aplicativo JavaFX chamando o método estático launch() do Application classe do método principal da seguinte forma.

public static void main(String args[]){   
   launch(args);      
}

Exemplo

A seguir está um programa que gera uma polilinha usando JavaFX. Salve este código em um arquivo com o nomePolylineExample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.stage.Stage; 
import javafx.scene.shape.Polyline

public class PolylineExample extends Application {  
   @Override 
   public void start(Stage stage) {        
      //Creating a polyline 
      Polyline polyline = new Polyline();  
       
      //Adding coordinates to the polygon 
      polyline.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, 
      }); 
          
      //Creating a Group object  
      Group root = new Group(polyline); 
         
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300);  
      
      //Setting title to the Stage 
      stage.setTitle("Drawing a Polyline"); 
         
      //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 e execute o arquivo java salvo no prompt de comando usando os comandos a seguir.

javac PolylineExample.java 
java PolylineExample

Ao ser executado, o programa acima gera uma janela JavaFX exibindo uma polilinha como mostrado abaixo.