JavaFX - Tipi di arco di forme 2D

In JavaFX, puoi disegnare tre tipi di arco vale a dire:

  • Open - Un arco che non è affatto chiuso è noto come arco aperto.

  • Chord - Una corda è un tipo di arco chiuso da una linea retta.

  • Round - L'arco rotondo è un arco che viene chiuso unendo il punto iniziale e finale al centro dell'ellisse.

È possibile impostare il tipo di arco utilizzando il metodo setType() passando una delle seguenti proprietà: ArcType.OPEN, ArcType.CHORD, ArcType.Round.

Passi per disegnare un arco

Per disegnare un arco in JavaFX, segui 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 arco

È possibile creare un arco in JavaFX istanziando la classe denominata Arc che appartiene a un pacchetto javafx.scene.shape. È possibile creare un'istanza di questa classe come mostrato di seguito.

//Creating an object of the class Arc         
Arc arc = new Arc();

Passaggio 3: impostazione delle proprietà sull'arco

Specificare le coordinate x, y del centro dell'ellisse (di cui fa parte questo arco). Queste coordinate includono: raggioX, raggioY, angolo iniziale e lunghezza dell'arco utilizzando i rispettivi metodi di impostazione come mostrato nel seguente blocco di codice.

È inoltre possibile impostare il tipo di arco (rotondo, corda aperta) utilizzando il setType() metodo.

//Setting the properties of the arc 
arc.setCenterX(300.0f); 
arc.setCenterY(150.0f); 
arc.setRadiusX(90.0f); 
arc.setRadiusY(90.0f); 
arc.setStartAngle(40.0f); 
arc.setLength(239.0f); 
arc.setType(ArcType.ROUND);

Passaggio 4: impostazione del tipo di arco

È possibile impostare il tipo di arco utilizzando il metodo setType() come mostrato nel seguente blocco di codice.

//Setting the type of the arc 
arc.setType(ArcType.ROUND);

Passaggio 5: creazione di un oggetto gruppo

Nel start() metodo crea un oggetto gruppo istanziando la classe denominata Group, che appartiene al pacchetto javafx.scene.

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

Group root = new Group(arc);

Passaggio 6: 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 7: impostazione del titolo dello stage

Puoi impostare il titolo dello stage utilizzando il file setTitle() metodo del Stage class. 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 8: aggiunta della scena allo stage

Puoi aggiungere un oggetto Scene allo stage utilizzando il metodo setScene() della classe denominata Stage. Aggiungere l'oggetto Scene preparato nei passaggi precedenti utilizzando questo metodo come segue.

primaryStage.setScene(scene);

Passaggio 9: visualizzazione dei contenuti dello stage

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

primaryStage.show();

Passaggio 10: 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 arco. 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.Arc;  
import javafx.scene.shape.ArcType; 
        
public class ArcExample extends Application { 
   @Override 
   public void start(Stage stage) { 
      //Drawing an arc 
      Arc arc = new Arc(); 
         
      //Setting the properties of the arc 
      arc.setCenterX(300.0f); 
      arc.setCenterY(150.0f); 
      arc.setRadiusX(90.0f); 
      arc.setRadiusY(90.0f); 
      arc.setStartAngle(40.0f); 
      arc.setLength(239.0f);  
      
      //Setting the type of the arc 
      arc.setType(ArcType.ROUND);         
         
      //Creating a Group object  
      Group root = new Group(arc); 
         
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300);  
      
      //Setting title to the Stage 
      stage.setTitle("Drawing an Arc"); 
         
      //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 come mostrato nello screenshot seguente.