Buscador
YoReparo.com La Web 

Regístrate gratis para participar de los foros, o si ya estás registrado haz login.

como agregar seleccionar texto en un editor con splitPane

comentario del autor Mar Feb 22, 2005 4:46 am
   
tengo un editor hecho con un SplitPane, una de las divisiones esta en con JtextArea y la otra ventana como JtextPane, no se como usar el equivalente a getTextArea que se usa en un JtextArea, aplicarlo en un JtextPane, lo necesito por ejemplo para programar el boton de buscar y que seleccione el texto seleccionado pero en el area de JtextPane no me acepta el getTextArea.

otra cosa, estoy haciendo un compilador para mi clase y me pidieron que al a hora de compilar y me aparezcan errores al posicionar el cursor en el error dar dos click me lleve a la linea donde esta el error seleccionandolo. como en cualquier editor.

en la parte superior del split pane abro el texto que vendria siendo el codigo fuente a compilar , si existen errores estos apareceran en la ventana inferior, de tal manera que al seleccionar alguno de los errores que aparezcan en la parte inferior del split pane y dar dos click el cursor se posicione en la ventana superior seleccionarndo la linea donde se encuentra. espero darme a entender no tengo idea como se hace esto
y es un requisito obligatorio.

agradeceria muchisimo la ayuda!!

shany

Reputación

comentario Mar Feb 22, 2005 6:16 pm
   
Hola shany,

Creo que podes utilizar getText para capturar el texto aunque este definido como JTextArea.


Para pararte en la linea de error se me ocurren que podes (seguramente hay alguna otra forma) :
a) contar el total de saltos de linea del programa = 100 scroll.
b) linea de error (Ej: Line 125) = 65 % scroll => Posicionas el scroll
c) Posicionas el caret (cursor) en el comienzo de la linea del codigo erroneo.
d) Tomando como referencia esa posicion => seleccionas hasta el final de la linea.

El tema del doble click o manejas con un evento del mouse, capturando el texto que esta seleccionado.

Busca simplificar, si ves que algo se complica mucho, entonces cambia el enfoque.


Salu2 y suerte

ppgrillo

Reputación

comentario del autor Mar Feb 22, 2005 11:25 pm
   
gracias ppgrillo.

voy a analizar la idea que me das con mas detalle

gracias de nuevo y que tengas buen dia

shany

Reputación

comentario del autor Mie Feb 23, 2005 12:18 am
   
que tal ppgrillo!

una duda, el getTextArea la ocupo para estas lineas, debo de utilizar dos
veces el getText?, aqui estoy trabajando con un JTextPane.

las palabras que estan entre asteriscos no me los acepta en un JTextPane
solo los acepta en un JTextArea. los necesito en el TextPane por cual lo puedo sustituir esto es para la opcion de busqueda y me seleccione la palabra al encontrarla, si omito en getText area busca la palabra pero no me selecciona la respuesta encontrada.

while(areaTexto./*getTextArea().*/getText().indexOf(findword) == -1){
JOptionPane.showMessageDialog(null,"La palabra no se encontró !","No hay resultados",JOptionPane.WARNING_MESSAGE);
findword = JOptionPane.showInputDialog("Telclea la palabra que buscas");
}
areaTexto./*getTextArea().*/select(areaTexto./*getTextArea().*/getText().indexOf(findword),
areaTexto./*getTextArea().*/getText().indexOf(findword) + findword.length());
}

saludos.

shany

Reputación

comentario Mie Feb 23, 2005 7:27 pm
   
Hola shany,

tanto JTextArea como JTextPane heredan de JTextComponent los metodos select y getText. La diferencia entre uno y otro es, que en primero trabaja con texto simple y el segundo con texto de distintos formatos.
getTextArea no existe para estas clases.

Te paso los links de los javadocs:
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextPane.html
http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextArea.html

Deberia ademas de buscarlo, seleccionarlo tambien. Proba harcodear el select y ver si selecciona algo. Sospecho del indexOf, ya que calcula la posicion en referencia al String y no al JTextPane.

Salu2

ppgrillo

Reputación

comentario del autor Jue Feb 24, 2005 2:52 pm
   
GRACIAS PPGRILLO!

VOY A ESTUDIAR DETENIDAMENTE CADA PARTE TAL VEZ ASI COMPRENDA MAS LA FORMACION DE ESTO.


QUE ESTES BIEN!

shany

Reputación



Hacer una pregunta

Reglamento / P+F

Foros

Miembros / Expertos