Swing y JFC (Java Foundation Classes)

Un componente de texto Swing usa un Document para contener y editar un texto. Los eventos Document ocurren cuando el contenido de un documento cambia de alguna forma. Se le a�ade el oyente de Document al documento del componente, en vez de al propio componente.

.�M�todos de Evento Document

El interface DocumentListener contiene estos tres m�todos.

void changedUpdate(DocumentEvent)
Se le llama cuando se modifica el estilo o algo del texto. Este tipo de eventos s�lo se generan desde un StyledDocument-- un PlainDocument no genera este tipo de eventos.
void insertUpdate(DocumentEvent)
Se le llama cuando se inserta texto en el documento escuchado.
void removeUpdate(DocumentEvent)
Se le llama cuando se elimina texto del documento escuchado.

.�Ejemplos de Manejo de Eventos Document

Dos ejemplos descritos en otras secciones tienen oyentes de document.

Ambas secci�n hacen un importante apunte que merece la pena repetir aqu�.

Nunca debemos modificar el contenido de un documento desde dentro de un oyente de document. El programa se podr�a quedar bloqueado. Para evitarlo, podemos usar un documento personalizado para el componente de texto.

.�El interface DocumentEvent

Cada m�todo de evento document tiene un s�lo par�metros, un ejemplar de una clase que implemente el interface DocumentEvent. T�picamente, el objeto pasado a este m�todo ser� un ejemplar de DefaultDocumentEvent que est� definido en AbstractDocument.

Para obener el documento que gener� el evento, podemos usar el m�todo getDocument de DocumentEvent. Observa que DocumentEvent no desciende de EventObject como las otras clases de eventos. Por lo tanto, no hereda el m�todo getSource.

Adem�s de getDocument, la clase DocumentEvent proporciona otros tres m�todos.

int getLength()
Devuelve la longitud del cambio.
int getOffset()
Devuelve la posici�n dentro del documento del primer caracter modificado.
ElementChange getChange(Element)
Devuelve detalles sobre qu� elementos del documento han cambiado y c�mo. ElementChange es un interface definido dentro del interface DocumentEvent.
EventType getType()
Devuelve el tipo de cambio que ha ocurrido. EventType es una clase definida dentro del interface DocumentEvent que enumera los posibles cambios que pueden ocurrir en un document: insertar y eliminar texto y cambiar el estilo.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR