Los eventos de Caret ocurren cuando se mueve el cursor (caret = punto de insercion) en un componente de texto o cuando cambia la selecci�n en un componente de texto. Se puede a�adir un oyente de caret a un ejemplar de cualquiera de la subclase de JTextComponent con el m�todo addCaretListener.
Si nuestro programa tiene un cursor personalizado, podr�amos encontrar m�s conveniente a�adir un oyente al objeto caret en vez de la componente de texto al que pertenece. Un cursor genera eventos change en vez de eventos caret, por eso necesitaremos escribir un oyente de change en vez de un puente de caret. Puedes ver C�mo escribir un Oyente de Change para m�s informaci�n.
�M�todos de Evento Caret
El interface CaretListener s�lo tiene un m�todo y por lo tanto no tiene clase adaptadora.
- void caretUpdate(CaretEvent)
- Se le llama cuando se mueve el cursor de un componente de texto o cuando se modifica la selecci�n en un componente de texto.
�Ejemplos de Manejo de Eventos Caret
El ejemplo descrito en How to Use Text Components tiene un oyente de caret que muestra el estado de cursor y de la selecci�n. Podr�s encontrar el c�digo fuente en TextComponentDemo.java.
�La clase CaretEvent
El m�todo caretUpdate tiene un s�lo par�metro, un objeto CaretEvent. Para obtener el componente de texto que gener� el evento, se usa el m�todo getSource que CaretEvent hereda de EventObject.
La clase CaretEvent define dos m�todos muy �tiles.
- int getDot()
- Devuelve la posici�n actual del cursor. Si hay texto seleccionado, el cursor marca uno de los finales de la selecci�n.
- int getMark()
- Devuelve el otro final de la selecci�n. Si no hay nada seleccionado, el valor devuelto por este m�todo es igual al devuelto por getDot