UI — JavaFx Programación Orientada a Objetos
Lo Primero es crear un nuevo proyecto con la configuración en maven.
UI — JavaFx Programación Orientada a Objetos
Lo Primero es crear un nuevo proyecto con la configuración en maven.

Luego instalamos las dependencia en el archivo pom.xml. Dentro del bloque de properties colocamos esto:
<javafx.version>21.0.3</javafx.version>
Y luego en el bloque de dependencies en el archivo pom.xml
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>${javafx.version}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>${javafx.version}</version>
</dependency>
</dependencies>
Luego agregamos el bloque de Build antes de que cierre la ultima etiqueta de project para poder compilar la vista.
<build>
<plugins>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.8</version>
<configuration>
<mainClass>org.example.Main</mainClass>
</configuration>
</plugin>
</plugins>
</build>
Tener en cuenta esta linea: <mainClass>org.example.Main</mainClass>, ya que nos indicará el nombre del artefacto o el nombre del paquete del mainClass.
Todo debe quedar asi:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>Persistence05</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<javafx.version>21.0.3</javafx.version> <!-- ← 17 → 21 -->
</properties>
<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.13.2</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>${javafx.version}</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>${javafx.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.8</version>
<configuration>
<!-- ← sin módulo, solo paquete.Clase -->
<mainClass>org.example.Main</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
Una vez Agregada estas características en el pom.xml es necesario realizar la sincronización, para esto puede ayudarte del icono de sync que aparece en el código o ir a maven y luego al botón de sincronizar.

Para Crear la vista que corresponde a la capa de presentación, en el Main.java vamos a heredar de la clase Application, muy importante importar de javafx.application.Application; y posterior a esto implementar los metodos de la clase.

para hacer la prueba de las vistas y ver que todo esta funcionando correctamente, en el main vamos a agregar lo siguiente:
public static void main(String[] args) {
launch(args);
}
El metodo launch me va a permitir lanzar la vista y todo lo que exista en la vista va a ser pintado en metodo start.
@Override
public void start(Stage stage) {
Label label = new Label("¡Hola, JavaFX!");
StackPane root = new StackPane(label);
Scene scene = new Scene(root, 400, 300);
stage.setTitle("Mi primera ventana");
stage.setScene(scene);
stage.show();
}
El metodo Start es el main de la vista, desde aqui se construyen todas las ventanas, vamos a tener conceptos como:
Stage: Ventana. — Scene: Contenido. — Node: Elemento Visual.
Una vez tenemos este concepto vamos a ejecutar la aplicacion. para esto ve a laas configuraciones de Ejecucion y realiza la siguiente configuracion:


Enla ventana que nos abra, colocamos un nombre a la aplicacion y agregamos al configuración
clean javafx:run

Y Saldrá la ventana con la vista-

메타데이터
- post_id
- eee5605a18ff
- slug
- ui-javafx-programación-orientada-a-objetos-eee5605a18ff
- url
- https://medium.com/@amilkarhernandez07/ui-javafx-programaci%C3%B3n-orientada-a-objetos-eee5605a18ff
- canonical_url
- https://medium.com/@amilkarhernandez07/ui-javafx-programaci%C3%B3n-orientada-a-objetos-eee5605a18ff
- author_url
- https://medium.com/@amilkarhernandez07
- status
- ok
- fetched_at
- 2026-07-10 13:01:02