ESPAÑOL: ¡Bienvenido! Es la página inicial de OSIRIS LMS. Regístrese hoy mismo y obtenga acceso a todos nuestros CURSOS GRATUITOS. Clic aquí para registrarse ya. Hemos desarrollado una amplia gamma de cursos “online” (Programación, Multimedia, 3D, Habilidades suaves, etc.), disponibles 24X7. Para más detalle consulte la lista de Cursos Disponibles. Si tiene problemas con el acceso a la plataforma, vea el Tour Virtual de Osiris LMS. También puede consultar la sección de FAQ’s o enviar Solicitud de Soporte Técnico.

ForoForo de discusión
keyReleased(KeyEvent e) y getText(int offset, int length)
Buscador:
Foro > JAVA > keyReleased(KeyEvent e) y getText(int offset, int length)

Enviado por: Texto del mensaje
Clayder Gonzalez
Nivel : Estudiante
Avatar
Mensajes : 20
> Perfil
Escrito el : Viernes 16-03-2007 A las : 18:02 ( > un mes )
Asunto : keyReleased(KeyEvent e) y getText(int offset, int length)
Hola:

Ya desde hace tiempo estoy intentando hacer algo, pero por mas que trato no encuentro el algoritmo. Bueno lo que quiero hacer tiene que ver con los eventos de teclado, yo lo he estado intentando con el keyReleased pero no se si ese metodo sera el mas adecuado.

Exactamente quiero que mi programa reconozca en un JTextPane, ciertos Strings constantes y que este JTextPane reaccione en el mismo momento en que se tipeo la ultima letra. Asi por ejemplo, fueran mis constantes: gato y perro. Si yo escribiese gato, el JTextPane debe estar atento para que cuando apenas se suelte la "tecla o", esta palabra sea pintada de un color verde por ejemplo, pero si le agrego a la letra "s" al final de "gato", esta se volveria a despintar ya que ahora la palabra completa seria "gatos" y de igual forma si mas adelante se me ocurriese escribir "gato" otra vez.

Yo lo estuve haciendo con el metodo getText(int offset, int length) de la interfaz Document creo:

inicializamdo el offset en:

String exp = "";
int offset = textPane.getCaretPosition() - 1
int length = 1;

exp += document.getText(offset, length);

y evaluando la palabra mediante:

if(exp.equals("gato"))
{
/...pintar la palabra gato.../
}

pero me di cuenta que cuando tipeaba la palabra muy rapido, mi computadora confundia las teclas que estaba presionando por lo que no reconocia las palabras.

Esto me esta trayendo muchos dolores de cabeza, por lo cual les agradeceria me ayudaran a resolverlo.

Gracias.
Clayder Gonzalez.