JavaFX - Rectángulo redondeado de formas 2D
En JavaFX, puede dibujar un rectángulo con bordes afilados o con bordes arqueados como se muestra en el siguiente diagrama.
El que tiene bordes arqueados se conoce como rectángulo redondeado y tiene dos propiedades adicionales a saber:
arcHeight - El diámetro vertical del arco, en las esquinas de un rectángulo redondeado.
arcWidth - El diámetro horizontal del arco en las esquinas de un rectángulo redondeado.
De forma predeterminada, JavaFX crea un rectángulo con bordes afilados a menos que establezca la altura y el ancho del arco en valores + ve (0 <) utilizando sus respectivos métodos de establecimiento setArcHeight() y setArcWidth().
Ejemplo
A continuación se muestra un programa que genera un rectángulo redondeado utilizando JavaFX. Guarde este código en un archivo con el nombreRoundedRectangle.java.
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.shape.Rectangle;
public class RoundedRectangle 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);
//Setting the height and width of the arc
rectangle.setArcWidth(30.0);
rectangle.setArcHeight(20.0);
//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);
}
}
Compile y ejecute el archivo java guardado desde el símbolo del sistema utilizando los siguientes comandos.
javac RoundedRectangle.java
java RoundedRectangle
Al ejecutarse, el programa anterior genera una ventana JavaFX que muestra un rectángulo redondeado como se muestra a continuación.