Elemento percorso forme 2D - Arco

L'elemento percorso Arc viene utilizzato per disegnare un arco verso un punto nelle coordinate specificate dalla posizione corrente.

È rappresentato da una classe denominata ArcTo. Questa classe appartiene al pacchettojavafx.scene.shape.

Questa classe ha 4 proprietà del doppio tipo di dati, ovvero:

  • X - La coordinata x del centro dell'arco.

  • Y - La coordinata y del centro dell'arco.

  • radiusX - La larghezza dell'ellisse completa di cui fa parte l'arco corrente.

  • radiusY - L'altezza dell'ellisse completa di cui fa parte l'arco corrente.

Per disegnare l'arco dell'elemento Path, è necessario passare i valori a queste proprietà.Questo può essere fatto passandoli al costruttore di questa classe, nello stesso ordine, al momento dell'istanziazione come segue:

ArcTo arcTo = new ArcTo(x, y, radius, radiusY);

Oppure, utilizzando i rispettivi metodi setter come segue:

setX(value); 
setY(value); 
setRadiusX(value); 
setRadiusY(value);

Passaggi per disegnare PathElement Arc

Per disegnare un arco a un punto specificato dalla posizione corrente 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. È quindi possibile implementare ilstart() metodo di questa classe come segue.

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

Passaggio 2: creare l'oggetto della classe del percorso

Creare l'oggetto della classe Path come mostrato nel seguente blocco di codice.

//Creating a Path object 
Path path = new Path();

Passaggio 3: crea un percorso

Crea il file MoveToelemento del percorso e impostare le coordinate XY sul punto iniziale della linea alle coordinate (100, 150). Questo può essere fatto usando i metodisetX() e setY() della classe MoveTo come mostrato di seguito.

//Moving to the starting point 
MoveTo moveTo = new MoveTo(); 
moveTo.setX(100.0f); 
moveTo.setY(150.0f);

Passaggio 4: creazione di un oggetto della classe ArcTo

Crea la curva quadratica dell'elemento percorso istanziando la classe denominata ArcTo, che appartiene al pacchetto javafx.scene.shape come mostrato di seguito -

//Creating an object of the class ArcTo  
ArcTo arcTo = new ArcTo()

Passaggio 5: impostazione delle proprietà dell'elemento arco

Specificare le coordinate x, y del centro dell'ellisse (di cui fa parte questo arco). Quindi è possibile specificare il raggioX, il raggioY, l'angolo iniziale e la lunghezza dell'arco utilizzando i rispettivi metodi di impostazione come mostrato di seguito.

//setting properties of the path element arc  
arcTo.setX(300.0); 
arcTo.setY(50.0); 
       
arcTo.setRadiusX(50.0); 
arcTo.setRadiusY(50.0);

Passaggio 6: aggiunta di elementi all'elenco osservabile della classe di percorsi

Aggiungi gli elementi del percorso MoveTo e arcTo, creato nei passaggi precedenti all'elenco osservabile del file Path classe come segue -

//Adding the path elements to Observable list of the Path class   
path.getElements().add(moveTo); 
path.getElements().add(cubicCurveTo);

Passaggio 7: creazione di un oggetto gruppo

Crea un oggetto gruppo istanziando la classe denominata Group, che appartiene al pacchetto javafx.scene.

Passare l'oggetto Line (nodo) creato nel passaggio precedente come parametro al costruttore della classe Group. Questo può essere fatto per aggiungerlo al gruppo come mostrato di seguito -

Group root = new Group(line);

Passaggio 8: creazione di un oggetto scena

Crea una scena istanziando la classe denominata Scene che appartiene al pacchetto javafx.scene. A questa classe, passa l'oggetto Group(root) creato nel passaggio precedente.

Oltre all'oggetto radice, puoi anche passare due parametri doppi che rappresentano l'altezza e la larghezza dello schermo insieme all'oggetto della classe Group come segue:

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

Passaggio 9: impostazione del titolo dello stage

Puoi impostare il titolo dello stage utilizzando il file setTitle() metodo del Stageclasse. IlprimaryStage è un 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 10: aggiunta di una scena allo stage

Puoi aggiungere un oggetto Scene allo stage utilizzando il metodo setScene() della classe denominata Stage. Aggiungi l'oggetto Scene preparato nei passaggi precedenti utilizzando questo metodo come mostrato di seguito:

primaryStage.setScene(scene);

Passaggio 11: visualizzazione dei contenuti dello stage

Visualizza il contenuto della scena utilizzando il metodo denominato show() del Stage classe come segue.

primaryStage.show();

Passaggio 12: 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 disegna un arco dal punto corrente a una posizione specificata utilizzando la classe Path di JavaFX. Salva questo codice in un file con il nomeArcExample.java.

import javafx.application.Application; 
import javafx.scene.Group; 
import javafx.scene.Scene; 
import javafx.stage.Stage; 
import javafx.scene.shape.ArcTo;
import javafx.scene.shape.MoveTo; 
import javafx.scene.shape.Path; 
         
public class ArcExample extends Application { 
   @Override 
   public void start(Stage stage) {         
      //Creating an object of the class Path  
      Path path = new Path();  
      
      //Moving to the starting point 
      MoveTo moveTo = new MoveTo(); 
      moveTo.setX(250.0); 
      moveTo.setY(250.0); 
      
      //Instantiating the arcTo class 
      ArcTo arcTo = new ArcTo(); 
         
      //setting properties of the path element arc  
      arcTo.setX(300.0); 
      arcTo.setY(50.0); 
       
      arcTo.setRadiusX(50.0); 
      arcTo.setRadiusY(50.0); 
         
      //Adding the path elements to Observable list of the Path class 
      path.getElements().add(moveTo); 
      path.getElements().add(arcTo);        
         
      //Creating a Group object  
      Group root = new Group(path); 
         
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300);  
      
      //Setting title to the Stage
      stage.setTitle("Drawing an arc through a path"); 
         
      //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 ArcExample.java 
java ArcExample

All'esecuzione, il programma di cui sopra genera una finestra JavaFX che mostra un arco, che viene disegnato dalla posizione corrente al punto specificato, come mostrato di seguito.