JavaFX - Rettangolo di forme 2D

In generale, un rettangolo è un poligono a quattro lati che ha due coppie di lati paralleli e simultanei con tutti gli angoli interni come angoli retti.

È descritto da due parametri:

  • height - La lunghezza verticale del rettangolo è nota come altezza.

  • width - La lunghezza orizzontale del rettangolo è nota come larghezza.

In JavaFX, un rettangolo è rappresentato da una classe denominata Rectangle. Questa classe appartiene al pacchettojavafx.scene.shape.

Istanziando questa classe, è possibile creare un nodo Rettangolo in JavaFX.

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

  • X - La coordinata x del punto iniziale (in alto a sinistra) del rettangolo.

  • Y - La coordinata y del punto iniziale (in alto a sinistra) del rettangolo.

  • Width - La larghezza del rettangolo.

  • height - L'altezza del rettangolo.

Per disegnare un rettangolo, è necessario passare valori a queste proprietà, passandoli al costruttore di questa classe, nello stesso ordine, al momento dell'istanziazione, come mostrato di seguito -

Rectangle rectangle = new Rectangle(x, y, width, height);

Oppure, utilizzando i rispettivi metodi setter come mostrato nel seguente blocco di codice -

setX(value); 
setY(value); 
setWidth(value); 
setHeight(value);

Passaggi per disegnare un rettangolo

È necessario seguire i passaggi indicati di seguito per disegnare un rettangolo in JavaFX.

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 mostrato di seguito.

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

Passaggio 2: creazione di un rettangolo

È possibile creare un rettangolo in JavaFX istanziando la classe denominata Rectangle che appartiene a un pacchetto javafx.scene.shape, creare un'istanza di questa classe come segue.

//Creating a rectangle object         
Rectangle rectangle = new Rectangle();

Passaggio 3: impostazione delle proprietà sul rettangolo

Specificare le coordinate x, y del punto iniziale (in alto a sinistra), l'altezza e la larghezza del rettangolo che è necessario disegnare. Puoi farlo impostando le proprietà x, y, height e width, usando i rispettivi metodi setter come mostrato nel seguente blocco di codice.

line.setStartX(100.0); 
line.setStartY(150.0); 
line.setEndX(500.0); 
line.setEndY(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 Rectangle (nodo), creato nel passaggio precedente, come parametro al costruttore della classe Group, per aggiungerlo al gruppo come segue:

Group root = new Group(rectangle);

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

Puoi impostare il titolo dello stage utilizzando il 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 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 nei passaggi precedenti utilizzando il metodo mostrato di seguito.

primaryStage.setScene(scene)

Passaggio 8: visualizzazione dei contenuti dello stage

Visualizza il contenuto della scena utilizzando il metodo denominato show() del Stage classe 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 il programma che genera un rettangolo JavaFX. Salva questo codice in un file con il nomeRectangleExample.java.

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

public class RectangleExample extends Application { 
   @Override 
   public void start(Stage stage) { 
      //Drawing a Rectangle 
      Rectangle rectangle = new Rectangle();  
      
      //Setting the properties of the rectangle 
      rectangle.setX(150.0f); 
      rectangle.setY(75.0f); 
      rectangle.setWidth(300.0f); 
      rectangle.setHeight(150.0f);      
         
      //Creating a Group object  
      Group root = new Group(rectangle); 
         
      //Creating a scene object 
      Scene scene = new Scene(root, 600, 300);  
      
      //Setting title to the Stage 
      stage.setTitle("Drawing a Rectangle"); 
         
      //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 RectangleExample.java 
java RectangleExample

All'esecuzione, il programma precedente genera una finestra JavaFX che mostra un rettangolo come mostrato nello screenshot seguente.