Desarrollo de Software con Componentes Reutilizables: Conceptos y Metodología

Conceptos Clave en la Programación Basada en Componentes

La Programación Basada en Componentes (PBC) es una metodología de programación que se centra en el uso de elementos reutilizables, denominados componentes. Un componente es un módulo de código ya implementado y reutilizable que puede interactuar con otros componentes software a través de interfaces de comunicación bien definidas.

  • Componente: Módulo de código reutilizable.
  • Get: Método para analizar el contenido de una propiedad.
  • Set: Método para modificar el valor de una propiedad.
  • Introspección: Característica de entornos visuales que permite obtener dinámicamente métodos, propiedades y eventos de un componente.
  • Paquete: Agrupación de ficheros ejecutables, elementos multimedia, librerías y bibliotecas necesarios para desplegar una aplicación.
  • POC: Siglas de «Programación basada en componentes» (usualmente se refiere a «Proof of Concept» o «Prueba de Concepto», se recomienda evitar esta abreviatura ambigua en este contexto).
  • Programación Basada en Componentes (PBC): Metodología de programación basada en componentes reutilizables.
  • Propiedad: Datos públicos que definen la apariencia y comportamiento de un objeto. Se modifican con métodos.
  • Reflexión: Característica que permite recuperar y modificar dinámicamente la estructura de un objeto.

Tipos de Propiedades

Las propiedades pueden ser de diferentes tipos, según la naturaleza de los datos que representan:

  • Propiedades simples: Representan un solo valor (ej: String, int, boolean).
  • Propiedades indexadas: Representan un conjunto de valores en forma de array.

Ámbito estático: Las propiedades y métodos estáticos pueden ser utilizados sin necesidad de crear una instancia del objeto.

Eventos en la Programación Basada en Componentes

Los eventos son acciones o sucesos que ocurren en un componente y que pueden ser detectados y manejados por otros componentes o por la aplicación en general.

Tipos de Eventos

ClaseDescripción
EventObjectClase principal de la que derivan todos los eventos.
MouseEventEventos relativos a la acción del ratón.
ComponentEventEventos relacionados con cambios en el componente (tamaño, posición).
ContainerEventEventos al añadir o eliminar componentes de un contenedor.
WindowEventEventos relacionados con variaciones en una ventana (apertura, cierre, cambio de tamaño).
ActionEventEvento que se produce al detectarse una acción sobre un componente (uno de los más comunes).

Ejemplos de ActionEvent según el Componente

ComponenteEventoDescripción
TextFieldActionEventPulsación de Enter.
ButtonActionEventPulsación del botón.
ComboBoxActionEvent, ItemEventSelección de un valor.
CheckBoxActionEvent, ItemEventMarcado de la casilla.
ScrollBarAdjustmentEventMovimiento de la barra.
TextComponentTextEventCambio en el texto.

Listeners (Escuchadores)

Los listeners, o escuchadores, son objetos que permiten detectar la ocurrencia de eventos. Se definen y activan para «escuchar» eventos específicos.

KeyListener

Detecta la pulsación de teclas. Implementa los siguientes eventos:

  • KeyPressed: Al pulsar la tecla.
  • KeyTyped: Al pulsar y soltar la tecla.
  • KeyReleased: Al soltar la tecla.

ActionListener

Detecta la pulsación sobre un componente. Algunos ejemplos de eventos asociados a ActionListener son:

  • Button: Click en el botón o Enter con el foco sobre el botón.
  • TextField: Enter con el foco en la caja de texto.
  • MenuItem: Selección de una opción del menú.
  • ListView: Doble click sobre un elemento de la lista.

MouseListener

Este evento se produce al interactuar con el ratón sobre un componente.

FocusListener

Este evento se produce cuando un elemento gana o pierde el foco.

MouseMotionListener

Eventos asociados:

  • mouseMoved: Movimiento del puntero sobre el componente.
  • mouseDragged: Arrastre de un elemento (click previo).

Persistencia de Componentes

La persistencia permite que el estado de un componente se mantenga. Esto se logra a través de la serialización. Al crear un componente, se debe implementar una de las siguientes interfaces:

  • Serialización automática: java.io.Serializable.
  • Serialización programada: java.io.Externalizable.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.