Skip to main content
AV
  • Home
  • Calendar
  • More
English ‎(en)‎
English ‎(en)‎ Español - Internacional ‎(es)‎ Galego ‎(gl)‎
You are currently using guest access
Log in
AV
Home Calendar
Expand all Collapse all
  1. Dashboard
  2. DI - 2DAM - 2526
  3. Unidade 03
  4. UD03A01_AgendaTelefonica (MVC)

UD03A01_AgendaTelefonica (MVC)

Completion requirements
Opened: Monday, 12 January 2026, 12:00 AM

Enunciado de la tarea: Agenda telefónica (MVC)

Descripción general

Basándote en la tarea UD02A03 – Agenda telefónica desarrollada en la Unidad 2, realiza las modificaciones necesarias para adaptar la aplicación al patrón Modelo–Vista–Controlador (MVC) utilizando JavaFX con FXML y Scene Builder.

El objetivo es mejorar la organización, la mantenibilidad y la reutilización del código, aplicando una correcta separación de responsabilidades y buenas prácticas de desarrollo en JavaFX.

Requisitos obligatorios

1) Aplicación del patrón MVC

Deberás:

  • Separar claramente la aplicación en:
    • Vista (FXML)
    • Estilos (CSS)
    • Controlador (Controller)
    • Modelo (Model)
    • Aplicación principal (Main)
  • Implementar la vista mediante un archivo FXML, que contenga únicamente la definición de la interfaz gráfica (sin lógica).
  • Crear un controlador que:
    • gestione los eventos de la interfaz (onAction, etc.),
    • y realice la interacción con el modelo.
  • Desarrollar un modelo (AgendaModelo) que encapsule:
    • los datos de la agenda,
    • y la lógica, incluyendo la comprobación de duplicados (por ejemplo: contacto ya existente).
  • Adaptar la clase principal para que:
    • se limite a cargar el FXML con FXMLLoader,
    • y muestre la interfaz en el Stage,
    • sin incluir lógica de presentación ni lógica de negocio.

2) Estilos con CSS externo

Extrae todos los estilos visuales a un archivo CSS externo llamado:

Agenda.css

La aplicación deberá enlazar este CSS al FXML correspondiente. 

Los estilos a aplicar son los indicados en la tarea UD02A03

Configuraciones que NO se pueden (o no conviene) hacer con CSS

Ten en cuenta que hay propiedades que no son estilo, sino layout (propiedades del nodo). Por tanto, se deben configurar en Scene Builder (Inspector > Properties) o en código:

  1. Espaciado entre paneles → HBox spacing = 20

  2. Espaciado entre componentes → VBox spacing = 10

  3. Alineación → Pos.TOP_LEFT, Pos.TOP_CENTER, Pos.CENTER_LEFT

  4. Anchura preferida de la tabla → TableView prefWidth = 400

  5. Placeholder (promptText) de TextField → se define con promptText

StyleClass a asignar en Scene Builder

Para que el CSS funcione, debes asignar clases (styleClass) a los nodos.

Resultado esperado

Una aplicación funcional equivalente a la de la UD02A03, pero organizada en MVC con FXML + Scene Builder y estilos aplicados desde un CSS externo, respetando la separación de responsabilidades y la lógica de duplicados en el modelo.

  • Agenda.css Agenda.css
    12 January 2026, 5:22 PM
You are currently using guest access (Log in)
Data retention summary
Policies
Get the mobile app
Powered by Moodle