JavaFX - Poligono di forme 2D
Una forma chiusa formata da un numero di segmenti di linea complanari collegati da un'estremità all'altra.
Un poligono è descritto da due parametri, vale a dire la lunghezza dei suoi lati e le misure dei suoi angoli interni.
In JavaFX, un poligono è rappresentato da una classe denominata Polygon. Questa classe appartiene al pacchettojavafx.scene.shape.
Istanziando questa classe, puoi creare un nodo poligonale in JavaFX. È necessario passare le coordinate x, y dei punti in base ai quali il poligono dovrebbe essere definito sotto forma di un doppio array.
Puoi passare il doppio array come parametro del costruttore di questa classe come mostrato di seguito -
Polygon polygon = new Polygon(doubleArray);
Oppure, utilizzando il getPoints() metodo come segue -
polygon.getPoints().addAll(new Double[]{ List of XY coordinates separated by commas });
Passaggi per disegnare un poligono
Per disegnare un poligono in JavaFX, seguire i passaggi indicati di seguito.
Passaggio 1: creazione di una classe
Crea una classe Java ed eredita il file Application classe del pacchetto javafx.application e implementare il start() metodo di questa classe come segue -
public class ClassName extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
}
}
Passaggio 2: creazione di un poligono
È possibile creare un poligono in JavaFX istanziando la classe denominata Polygon che appartiene a un pacchetto javafx.scene.shape. È possibile creare un'istanza di questa classe come segue.
//Creating an object of the class Polygon
Polygon hexagon = new Polygon();
Passaggio 3: impostazione delle proprietà sul poligono
Specificare una doppia matrice contenente le coordinate XY dei punti del poligono richiesto (esagono in questo esempio) separate da virgole, utilizzando il getPoints() metodo del Polygon classe, come segue.
//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,
})
Passaggio 4: creazione di un oggetto gruppo
Nel start() metodo, creare un oggetto gruppo istanziando la classe denominata Group, che appartiene al pacchetto javafx.scene.
Passa l'oggetto nodo poligono (esagono), creato nel passaggio precedente, come parametro al costruttore della classe Group, per aggiungerlo al gruppo come segue:
Group root = new Group(hexagon);
Passaggio 5: creazione di un oggetto scena
Crea una scena istanziando la classe denominata Sceneche appartiene al pacchetto javafx.scene. A questa classe passa l'oggetto Group(root), creato nel passaggio precedente.
Scene scene = new Scene(group ,600, 300);
Passaggio 6: impostazione del titolo dello stage
Puoi impostare il titolo dello stage utilizzando il setTitle() metodo del Stageclasse. IlprimaryStage è l'oggetto Stage che viene passato al metodo di avvio della classe scene come parametro.
Usando il primaryStage oggetto, imposta il titolo della scena come Sample Application come segue.
primaryStage.setTitle("Sample Application");
Passaggio 7: aggiunta di scene allo stage
Puoi aggiungere un oggetto Scene allo stage utilizzando il metodo setScene() della classe denominata Stage. Aggiungere l'oggetto Scene preparato nel passaggio precedente utilizzando il metodo mostrato di seguito.
primaryStage.setScene(scene);
Passaggio 8: visualizzazione dei contenuti dello stage
Visualizzare il contenuto della scena utilizzando il metodo denominato show () della classe Stage come segue.
primaryStage.show();
Passaggio 9: avvio dell'applicazione
Avvia l'applicazione JavaFX chiamando il metodo statico launch() del Application class dal metodo principale come segue.
public static void main(String args[]){
launch(args);
}
Esempio
Di seguito è riportato un programma che genera un poligono (esagono) utilizzando JavaFX. Salva questo codice in un file con il nomePolygonExample.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);
}
}
Compilare ed eseguire il file java salvato dal prompt dei comandi utilizzando i seguenti comandi.
javac PolygonExample.java
java PolygonExample
All'esecuzione, il programma precedente genera una finestra JavaFX che mostra un poligono come mostrato sotto.