lunes, 11 de abril de 2011

Eventos, excepciones y errores

En esta entrada explicare que son los eventos, errores y excepciones.

Eventos:

Los eventos son todas las acciones que el usuario inicia, dar clic sobre un botón, presionar las teclas del teclado, etc. Cada vez que se produce un evento, se crea un objeto. La clase padre de los eventos es "java.awt.event".

Cada lenguaje de programación tiene su propio modelo de eventos, en Java se definen clases auxiliares llamadas escuchadores (listeners) que reciben eventos específicos.

Los escuchadores se registran en las fuentes de eventos (teclado, ratón, etc). Estas envían objetos del tipo EventObjet la los escuchadores registrados al producirse un evento. Cada escuchador utiliza la información recibida a través del objeto para realizar las acciones adecuadas.

Dentro de "java.awt.event", los eventos están categorizados dentro de una jerarquía de clases.
  • La clase "java.util.EventObject" es la clase base de todos los
    eventos en Java.
  • La subclase "java.awt.AWTEvent" es la clase base de todos los
    eventos que se utilizan en la construcción de GUIs.
  • Cada tipo de evento "xxEvent" tiene asociada una interfaz "xxListener" que es la que nos permite definir escuchadores de eventos.
  • Para simplificar la implementación de algunos escuchadores de eventos, el paquete "java.awt.event" incluye clases base xxAdapter que implementan las interfaces xxListener.
Existen distintos tipos de eventos, los cuales son:

Eventos de Ventana

Son los que se generan en respuesta a los cambios de una ventana, un frame o un dialogo.
  •     WINDOW_DESTROY
  •     WINDOW_EXPOSE
  •     WINDOW_ICONIFY
  •     WINDOW_DEICONIFY
  •     WINDOW_MOVED
Eventos de Teclado

Son generados en respuesta a cuando el usuario pulsa y suelta una tecla mientras un Componente tiene el foco de entrada.
  •     KEY_PRESS
  •     KEY_RELEASE
  •     KEY_ACTION
  •     KEY_ACTION_RELEASE
Eventos de Ratón

Son los eventos generados por acciones sobre el ratón dentro de los límites de un Componente.
  •     MOUSE_DOWN
  •     MOUSE_UP
  •     MOUSE_MOVE
  •     MOUSE_ENTER
  •     MOUSE_EXIT
  •     MOUSE_DRAG
Eventos de Barras

Son los eventos generados como respuesta a la manipulación de barras de desplazamiento (scrollbars).
  •     SCROLL_LINE_UP
  •     SCROLL_LINE_DOWN
  •     SCROLL_PAGE_UP
  •     SCROLL_PAGE_DOWN
  •     SCROLL_ABSOLUTE
Eventos de Lista

Son los eventos generados al seleccionar elementos de una lista.
  •     LIST_SELECT
  •     LIST_DESELECT
Eventos Varios

Son los eventos generados en función de diversas acciones.
  •     ACTION_EVENT
  •     LOAD_FILE
  •     SAVE_FILE
  •     GOT_FOCUS
  •     LOST_FOCUS
Errores:

Los errores en la programación suelen ser comunes, ya que es casi imposible programar sin que exista un solo error, inclusive en productos finales existen errores de software, que casi siempre tratan de corregir con parches de seguridad y actualizaciones.

En algún momento por alguna causa, podría generarse algún conflicto en el programa. Ya sea porque no hay conexión a Internet, usuario o contraseña incorrecta, valores alfanuméricos en campos solo para números, y en algunos casos el código del programa no esta escrito correctamente, sin embargo, este ultimo se analizara en el siguiente tema (Diseño de pruebas unitarias).

Existen formas para detectar y corregir errores en un programa por medio de opciones alternativas llamadas excepciones.


Excepciones:

Las excepciones en Java están destinadas, al igual que en el resto de los lenguajes que las soportan, para la detección y corrección de errores.

Si hay un error, la aplicación no debería morirse y generar un core . Se debería lanzar (throw) una excepción que nosotros deberíamos capturar (catch) y resolver la situación de error.

Existen muchos tipos de excepciones,casi una por cada tipo de error, por lo que si tenemos error de entrada/salida de datos, el programa deberia de lanzar una excepción de tipo IOException.

En Java, cada excepción es una clase hija de "java.lang.Exception", por lo que podemos crear nuestras propias excepciones en lugar de utilizar las ya predefinidas.


En este gráfico podemos ver algunos de los errores y excepciones dentro de la clase Throwable que extiende de Object y tiene como hijas a Error y Exception.

2 comentarios:

Elisa dijo...

¿Y para tu proyecto? Faltó bajar esto al contexto de lo que estás haciendo tú. 4.

Unknown dijo...

Ammmm una pregunta, esos eventos funcionan en el NetBeans?

Publicar un comentario