rubensa.eu.org algo en qué pensar...
El contenido de este sitio es de libre distribución, siempre que se cite la fuente original. No está permitido su uso comercial sin previo aviso y si lo modifica o distribuye debe mantener esta licencia.
Inicio de sesión de usuario
4. Componentes de Entrada de Usuario
Lun, 26/03/2007 - 13:27 — rubensa
Esta sección explica el uso de varios Components incluidos que procesan las entradas de usuario, como son, botones, componentes de entrada de texto, y componentes de listas de selección.
Buttons:

RadioButtons:

CheckBoxes:

Apariencia Visual: Todos los componentes botón se pueden configurar con colores, fuentes, bordes, imágenes de fondo, etiquetas pesonalizadas e iconos personalizados. Se les pueden fijar eventos de rollover y button-press de ratón para modificar su apariencia cuando el ratón está dentro de sus límites o cuando este es pulsado, respectivamente. Utilizando estas propiedades de estilo, los botones se pueden configurar para que parezcan enlaces HTML o los tradicionales botones que encontramos en aplicaciones GUI (interfaz gráfico de usuario).
Empaquetado: Las clases Component de botón concretas se pueden encontrar en el paquete nextapp.echo2.app. La infrastructura de soporte que incluye la clase ButtonModels y clases base AbstractButton y ToggleButton se encuentran en el paquete nextapp.echo2.app.button.
Checkboxes (casillas de selección): Un CheckBox es un botón que tiene un estado de selección on/off. Si pulsas un CheckBox, se cambiará el estado de selección.
RadioButtons (opciones): El componente RadioButton permite al usuario seleccionar una opción de un grupo de opciones. Un RadioButton se puede asignar a un ButtonGroup (grupo de botones), que solamente permitirá que se seleccione uno de sus RadioButtons miembros de cada vez.
ChangeEvents (eventos de cambio): Un ToggleButton lanzará ChangeEvents en respuesta a cambios en su estado de selección.
TextField (campo de texto): El componente TextField proporciona la capacidad de introducir un sola línea de texto.

PasswordField (campo de contraseña): La derivación de TextField, PasswordField añade una máscara a la entrada del usuario para facilitar la introducción de contraseñas en partalla.

TextArea (area de texto): El componente TextArea proporciona la capacidad de introducir múltiples líneas de texto.

ActionEvents (eventos de acción): un TextComponent lanza ActionEvents cuando se pulsa la tecla enter (retorno de carro) en el componente.
Empaquetado: Las clases Component de lista concreta se pueden encontrar en el paquete nextapp.echo2.app. La infraestructura de soporte, incluyendo la implementación del modelo de datos y del modelo de selección, se encuentra en el paquete nextapp.echo2.app.list.

ListBox (cuadro de selección): Un ListBox muestra una lista de opciones desplazable dentro de una caja. Si se configura adecuadamente, un ListBox permite la selección de varios elementos simultáneamente (el comportamiento por defecto consiste en permitir la selección de un único elemento de cada vez).

ActionEvents (eventos de acción): Un componente de lista lanzará un ActionEvent cuando se selecciona un elemento (si existe algún ActionListener registrado).
ChangeEvents (eventos de cambio): El modelo de selección de un componente de lista lanzará un ChangeEvent cuando se modifique el estado de selección.
Cuando se contacta con el servidor a causa de la aparición de un ActionEvent, primero lanzará cualquier evento retrasado que haya sido cacheado (como un DocumentEvent o un ChangeEvent) antes de lanzar el ActionEvent. Los eventos del modelo de datos duplicados no se lanzarán: por ejemplo, si un usuario ha escrito 100 caracteres en un campo de texto, solamente se lanzará un DocumentEvent (en vez de 100).
Botones
Echo2 proporciona varios componentes botón incluyendo simples botones pulsables (Buttons) y botones cambiables que proporcionan un estado de selección (RadioButtons y CheckBoxes).Buttons:

RadioButtons:

CheckBoxes:

Apariencia Visual: Todos los componentes botón se pueden configurar con colores, fuentes, bordes, imágenes de fondo, etiquetas pesonalizadas e iconos personalizados. Se les pueden fijar eventos de rollover y button-press de ratón para modificar su apariencia cuando el ratón está dentro de sus límites o cuando este es pulsado, respectivamente. Utilizando estas propiedades de estilo, los botones se pueden configurar para que parezcan enlaces HTML o los tradicionales botones que encontramos en aplicaciones GUI (interfaz gráfico de usuario).
Empaquetado: Las clases Component de botón concretas se pueden encontrar en el paquete nextapp.echo2.app. La infrastructura de soporte que incluye la clase ButtonModels y clases base AbstractButton y ToggleButton se encuentran en el paquete nextapp.echo2.app.button.
Tipos de Botones
Pushbuttons (botones pulsables): El componente Button es un simple botón "pulsable" que proporciona al usuario la capacidad de invocar una acción. Los Pushbuttons no tienen estado de selección.Checkboxes (casillas de selección): Un CheckBox es un botón que tiene un estado de selección on/off. Si pulsas un CheckBox, se cambiará el estado de selección.
RadioButtons (opciones): El componente RadioButton permite al usuario seleccionar una opción de un grupo de opciones. Un RadioButton se puede asignar a un ButtonGroup (grupo de botones), que solamente permitirá que se seleccione uno de sus RadioButtons miembros de cada vez.
Eventos
ActionEvents (eventos de acción): Cuando se pulsa, un Button lanzará un ActionEvent a todos los ActionListeners (escuchadores de acción) registrados. Si se fijó la propiedad ActionCommand del Button, esta información se incluirá en el ActionEvent. El uso de comandos de acción puede ser beneficioso en circunstancias en las que se registra un ActionListener con mas de un botón.ChangeEvents (eventos de cambio): Un ToggleButton lanzará ChangeEvents en respuesta a cambios en su estado de selección.
Modelo
Todos los botones están soportados por un modelo de datos que implementa la interfaz ButtonModel la cual proporciona la gestión de ActionListeners. Los botones cambiables están respaldados por un ToggleButtonModel, que deriva de ButtonModel proporcionando información de estado adicional así como la gestión de ChangeListeners.Componentes de Texto
Los componentes de texto proporcionan la capacidad para que los usuarios instroduzcan en la aplicación datos en forma de texto. Echo2 proporciona tres componentes de texto estándar, todos derivados de la clase base TextComponent:TextField (campo de texto): El componente TextField proporciona la capacidad de introducir un sola línea de texto.
PasswordField (campo de contraseña): La derivación de TextField, PasswordField añade una máscara a la entrada del usuario para facilitar la introducción de contraseñas en partalla.
TextArea (area de texto): El componente TextArea proporciona la capacidad de introducir múltiples líneas de texto.

Modelo
El texto mostrado en un TextComponent (componente de texto) se guarda en un objeto de modelo de datos Document (documento). Se pueden registrar DocumentListeners en el Document para que reciban notificaciones de cambios.Eventos
DocumentEvents (eventos de documento): el modelo Document de un TextComponent lanzará DocumentEvents cuando sea modificado.ActionEvents (eventos de acción): un TextComponent lanza ActionEvents cuando se pulsa la tecla enter (retorno de carro) en el componente.
Componentes de Lista
Los componentes de lista, como SelectField y ListBox, proporcionan la capacidad de seleccionar uno o más elementos de una lista. Los componentes de lista se derivan de la clase base AbstractListComponent.Empaquetado: Las clases Component de lista concreta se pueden encontrar en el paquete nextapp.echo2.app. La infraestructura de soporte, incluyendo la implementación del modelo de datos y del modelo de selección, se encuentra en el paquete nextapp.echo2.app.list.
Tipos de Componentes de Lista
SelectField (campo de selección): Un SelectField es una lista compacta que, cuando se pulsa, abre una lista desplegable de opciones. Los SelectFields solamente permiten la selección de un elemento de cada vez. Solamente se muestra la selección actual cuando el desplegable del SelectField está inactivo.
ListBox (cuadro de selección): Un ListBox muestra una lista de opciones desplazable dentro de una caja. Si se configura adecuadamente, un ListBox permite la selección de varios elementos simultáneamente (el comportamiento por defecto consiste en permitir la selección de un único elemento de cada vez).

Modelo
Un componente de lista está respaldado por dos modelos. Un ListModel usado para describir los elementos disponibles en la selección. Un ListSelectionModel para describir el estado de selección del componente de lista.Eventos
ActionEvents (eventos de acción): Un componente de lista lanzará un ActionEvent cuando se selecciona un elemento (si existe algún ActionListener registrado).
ChangeEvents (eventos de cambio): El modelo de selección de un componente de lista lanzará un ChangeEvent cuando se modifique el estado de selección.
Contenedor Web: Lanzamiento de Eventos Inmediato y Retardado
Muchos de los componentes mencionados en este capítulo tienen la capacidad de registrar escuchadores de eventos de "grano-fino" que resultarían en un abundante tráfico cliente-servidor si se notificase al servidor cada vez que se produce un evento. Por ejemplo, un TextComponent lanzaría un DocumentEvent cada vez que se pulsase un caracter. Obviamente esto sería inaceptable salvo para las redes mas rápidas. Para evitar dichos problemas, solamente se notificará al servidor inmediatamente en el caso en que el usuario realice una operación que genere un ActionEvent. Los eventos como ChangeEvent y DocumentEvent se lanzarán únicamente cuando un ActionEvent proporcione una causa para contactar con el servidor.Cuando se contacta con el servidor a causa de la aparición de un ActionEvent, primero lanzará cualquier evento retrasado que haya sido cacheado (como un DocumentEvent o un ChangeEvent) antes de lanzar el ActionEvent. Los eventos del modelo de datos duplicados no se lanzarán: por ejemplo, si un usuario ha escrito 100 caracteres en un campo de texto, solamente se lanzará un DocumentEvent (en vez de 100).
- Inicie sesión para enviar comentarios
