JavaFX - Linea di forme 2D
In generale, una linea è una struttura geometrica che unisce due punti su un piano XY.
In JavaFX, una linea è rappresentata da una classe denominata Line. Questa classe appartiene al pacchettojavafx.scene.shape.
Istanziando questa classe, è possibile creare un nodo di linea in JavaFX.
Questa classe ha 4 proprietà del doppio tipo di dati, ovvero:
startX - La coordinata x del punto iniziale della linea.
startY - La coordinata y del punto iniziale della linea.
endX - La coordinata x del punto finale della linea.
endY - La coordinata y del punto finale della linea.
Per disegnare una linea, è necessario passare valori a queste proprietà, passandoli al costruttore di questa classe, nello stesso ordine, al momento dell'istanziazione, come segue:
Line line = new Line(startX, startY, endX, endY);
Oppure, utilizzando i rispettivi metodi setter come segue:
setStartX(value);
setStartY(value);
setEndX(value);
setEndY(value);
Passaggi per disegnare una linea
Segui i passaggi indicati di seguito per disegnare una linea 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 segue.
public class ClassName extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
}
}
Passaggio 2: creazione di una linea
È possibile creare una riga in JavaFX istanziando la classe denominata Line che appartiene a un pacchetto javafx.scene.shape, creare un'istanza di questa classe come segue.
//Creating a line object
Line line = new Line();
Passaggio 3: impostazione delle proprietà sulla linea
Specificare le coordinate per disegnare la linea su un piano XY impostando le proprietà startX, startY, endX e endY, utilizzando 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
Crea un oggetto gruppo istanziando la classe denominata Group, che appartiene al pacchetto javafx.scene.
Passa l'oggetto Line (nodo), creato nel passaggio precedente, come parametro al costruttore della classe Group, per aggiungerlo al gruppo come segue:
Group root = new Group(line);
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 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 7: aggiunta della scena allo stage
Puoi aggiungere un oggetto Scene allo stage utilizzando il metodo setScene() della classe denominata Stage. Aggiungere l'oggetto scena preparato nei passaggi precedenti utilizzando questo metodo come segue.
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 una linea retta utilizzando JavaFX. Salva questo codice in un file con il nomeDrawingLine.java.
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.shape.Line;
import javafx.stage.Stage;
public class DrawingLine extends Application{
@Override
public void start(Stage stage) {
//Creating a line object
Line line = new Line();
//Setting the properties to a line
line.setStartX(100.0);
line.setStartY(150.0);
line.setEndX(500.0);
line.setEndY(150.0);
//Creating a Group
Group root = new Group(line);
//Creating a Scene
Scene scene = new Scene(root, 600, 300);
//Setting title to the scene
stage.setTitle("Sample application");
//Adding the scene to the stage
stage.setScene(scene);
//Displaying the contents of a scene
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 DrawingLine.java
java DrawingLine
All'esecuzione, il programma di cui sopra genera una finestra JavaFX che mostra una linea retta come mostrato di seguito.