JavaFX - Elipse de formas 2D
Una elipse está definida por dos puntos, cada uno llamado foco. Si se toma cualquier punto de la Elipse, la suma de las distancias a los puntos de enfoque es constante. El tamaño de la Elipse está determinado por la suma de estas dos distancias. La suma de estas distancias es igual a la longitud del eje mayor (el diámetro más largo de la elipse). Un círculo es, de hecho, un caso especial de Elipse.
Una elipse tiene tres propiedades que son:
Centre- Un punto dentro de la Elipse que es el punto medio del segmento de línea que une los dos focos. La intersección de los ejes mayor y menor.
Major axis - El diámetro más largo de una elipse.
Minor axis - El diámetro más corto de una elipse.
En JavaFX, una Elipse está representada por una clase llamada Ellipse. Esta clase pertenece al paquetejavafx.scene.shape.
Al crear una instancia de esta clase, puede crear un nodo Ellipse en JavaFX.
Esta clase tiene 4 propiedades del tipo de datos doble, a saber:
centerX - La coordenada x del centro de la elipse en píxeles.
centerY - La coordenada y del centro de la elipse en píxeles.
radiusX - El ancho de los píxeles de la elipse.
radiusY - La altura de los píxeles de la elipse.
Para dibujar una elipse, debe pasar valores a estas propiedades, ya sea pasándolos al constructor de esta clase, en el mismo orden, en el momento de la instanciación, como se muestra a continuación:
Circle circle = new Circle(centerX, centerY, radiusX, radiusY);
O, utilizando sus respectivos métodos de establecimiento de la siguiente manera:
setCenterX(value);
setCenterY(value);
setRadiusX(value);
setRadiusY(value);
Pasos para dibujar elipse
Siga los pasos que se indican a continuación para dibujar una elipse en JavaFX.
Paso 1: crear una clase
Cree una clase Java y herede la Application clase del paquete javafx.application e implementar el start() método de esta clase como se muestra a continuación.
public class ClassName extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
}
}
Paso 2: crear una elipse
Puede crear una Elipse en JavaFX creando una instancia de la clase llamada Ellipse que pertenece a un paquete javafx.scene.shape. Puede crear una instancia de esta clase de la siguiente manera.
//Creating an Ellipse object
Ellipse ellipse = new Ellipse();
Paso 3: Establecer propiedades en la elipse
Especifique las coordenadas x, y del centro de la Elipse → el ancho de la Elipse a lo largo del eje x y el eje y (ejes mayor y menor), del círculo estableciendo las propiedades X, Y, RadiusX y RadiusY.
Esto se puede hacer usando sus respectivos métodos de establecimiento como se muestra en el siguiente bloque de código.
ellipse.setCenterX(300.0f);
ellipse.setCenterY(150.0f);
ellipse.setRadiusX(150.0f);
ellipse.setRadiusY(75.0f);
Paso 4: crear un objeto de grupo
En el start() método, cree un objeto de grupo instanciando la clase llamada Group, que pertenece al paquete javafx.scene.
Pase el objeto Ellipse (nodo) creado en el paso anterior como parámetro al constructor de la clase Group. Esto debe hacerse para agregarlo al grupo como se muestra en el siguiente bloque de código:
Group root = new Group(ellipse);
Paso 5: creación de un objeto de escena
Cree una escena creando una instancia de la clase llamada Scene que pertenece al paquete javafx.scene. A esta clase, pase el objeto Grupo (root) creado en el paso anterior.
Además del objeto raíz, también puede pasar dos parámetros dobles que representan la altura y el ancho de la pantalla junto con el objeto de la clase Group de la siguiente manera.
Scene scene = new Scene(group ,600, 300);
Paso 6: Establecer el título del escenario
Puede establecer el título del escenario utilizando el setTitle() método del Stageclase. losprimaryStage es un objeto Stage que se pasa al método de inicio de la clase de escena como parámetro.
Utilizando el primaryStage objeto, establezca el título de la escena como Sample Application como sigue.
primaryStage.setTitle("Sample Application");
Paso 7: agregar escena al escenario
Puede agregar un objeto de escena al escenario usando el método setScene() de la clase nombrada Stage. Agregue el objeto Scene preparado en el anteriorstep utilizando este método de la siguiente manera.
primaryStage.setScene(scene);
Paso 8: Visualización del contenido del escenario
Muestre el contenido de la escena usando el método llamado show() del Stage clase de la siguiente manera.
primaryStage.show();
Paso 9: lanzamiento de la aplicación
Inicie la aplicación JavaFX llamando al método estático launch() del Application class del método principal de la siguiente manera.
public static void main(String args[]){
launch(args);
}
Ejemplo
A continuación se muestra un programa que genera una Elipse usando JavaFX. Guarde este código en un archivo con el nombreEllipseExample.java.
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.shape.Ellipse;
public class EllipseExample extends Application {
@Override
public void start(Stage stage) {
//Drawing an ellipse
Ellipse ellipse = new Ellipse();
//Setting the properties of the ellipse
ellipse.setCenterX(300.0f);
ellipse.setCenterY(150.0f);
ellipse.setRadiusX(150.0f);
ellipse.setRadiusY(75.0f);
//Creating a Group object
Group root = new Group(ellipse);
//Creating a scene object
Scene scene = new Scene(root, 600, 300);
//Setting title to the Stage
stage.setTitle("Drawing an Ellipse");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
Compile y ejecute el archivo Java guardado desde el símbolo del sistema utilizando los siguientes comandos.
javac EllipseExample.java
java EllipseExample
Al ejecutarse, el programa anterior genera una ventana JavaFX que muestra una elipse como se muestra a continuación.