Foros del Web » Programación para mayores de 30 ;) » Java »

Colorear palabras reservadas - JTextpane

Estas en el tema de Colorear palabras reservadas - JTextpane en el foro de Java en Foros del Web. hola amigos... quisiera saber la manera de segun como voy escribiendo en un jtextpane.. se vayan coloreando por ejemplo de azul unas palabras reservadas... se ...
  #1 (permalink)  
Antiguo 21/11/2011, 11:22
 
Fecha de Ingreso: marzo-2011
Mensajes: 40
Antigüedad: 13 años, 1 mes
Puntos: 1
De acuerdo Colorear palabras reservadas - JTextpane

hola amigos...

quisiera saber la manera de segun como voy escribiendo en un jtextpane.. se vayan coloreando por ejemplo de azul unas palabras reservadas...

se q en el jtextpane hay como hacer esto... fijando primeramente si se va a trabajar con codigo html asi

editor.setContentType("text/html");

pero la cuestion es q cada vez q se escribe una letra hay q comparar todo el textto del textpane... yo hago asi... pero sale un problema

int tam = palabraReservada.length(); tamaño de la palabra reservada
int primIndex = editor.getText().IndexOf(palabraReservada); obtiene el indice en donde incia la coincidencia de la palabra reservada
int segIndex = primIndex + tam; obtiene el indice donde termina la coincidencia de la palabra reservada o sea q desde primIndex hasta segIndex se debe colorear de azul... hago esto:

editor.setText(editor.getText().substring(0,primIn dex)+ "<font color=\"red\">"+editor.getText().substring(primInd ex,segIndex)+"</font><br>"+editor.getText().substring(segIndex,edi tor.getText().size());

si la colorea pero sale un error como q se keda estancado o algo y ya no hay como escribir mas....

alguien sabe otra manera.. si hay como hacer esto con un hilo...

gracias por su tiempo....
  #2 (permalink)  
Antiguo 22/11/2011, 06:26
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: Colorear palabras reservadas - JTextpane

¿y cual sería este dichoso error (exception, stacktrace)?


Nota: Cuando vas a trabajar mucho con cadenas "mutables", usa StringBuilder.
__________________
BadProgrammerException!
  #3 (permalink)  
Antiguo 23/11/2011, 17:39
 
Fecha de Ingreso: marzo-2011
Mensajes: 40
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: Colorear palabras reservadas - JTextpane

... veras es q al trabajar con html... cada vez q kieres colorear tienes q agregar "<font color=\"red\">"+editor.getText().substring(primInd ex,segIndex)+"</font><br>".

o sea q por cada palabra hay q agregar eso... el problema es q al recuperar el texto... t lo recupera con esos caracteres tambien... al usuario no lo muestra pero internamente se recuperan en el getText();

asi q cada ves q se busca (por cada letra tecleada) mando a colorear la misma palabra... y como resultado mas codigo html se ha agregado.. cada vez se hace mas grande y x eso se qda estancado... asi q si hubiera un hilo o algo asi yo creo q fuera mejor...

gracias... por la recomendacion

Etiquetas: colorear, jar, jtextpane, palabras, reservadas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:43.