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.