Autor Tema: FInd, find next y previous en un JEditorPane  (Leído 2071 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado moyo18

  • Trade Count: (0)
  • The Communiter-
  • *
  • Thank You
  • -Given: 6
  • -Receive: 41
  • Mensajes: 1719
FInd, find next y previous en un JEditorPane
« : mayo 12, 2010, 09:44:49 pm »
tengo un problemin tratando d encontrar texto en el JEditorPane

lo tengo es un form q pregunte por el texto, luego lo guardo en un string, despues saco el etxt del panel con el gettext().

mas o menos asi

String sentence = JOptionPane.showInputDialog("Enter the string" + "to search for:");
String words = editor.getText();
String[] tokens = words.split(" ");
for(String word : tokens){
if(word.equals(sentence)){
}


ahi separo cada palabra para comprar con la sentence no se si lo estoy haciendo bien, pero mi problema es si encuentro lo q busco como lo regreso al
panel y q sea como texto seleccionado

Conectado g00mba

  • Trade Count: (3)
  • The Communiter-
  • *
  • Thank You
  • -Given: 184
  • -Receive: 2598
  • Mensajes: 14564
  • SOMOS LEGION
    • ALABADO SEA MONESVOL
Re:FInd, find next y previous en un JEditorPane
« Respuesta #1 : mayo 13, 2010, 12:55:53 am »
 y volviendolo a poner con un settext()? digo... es lo que me suena mas razonable?
editor.settext(words);
o quizas no te he entendido bien? :huh:
si queres que llame solo el texto buscado, tendrias que cambiar word por sentence o usar el valor de word DENTRO del bucle de tokens porque de todos modos no hace nada si no cumple la condicion(creo que asi va tu lógica)

if(word.equals(sentence)){
editor.settext(word);
//todo lo demas
}
« Última Modificación: mayo 13, 2010, 12:59:44 am por g00mba »

Desconectado moyo18

  • Trade Count: (0)
  • The Communiter-
  • *
  • Thank You
  • -Given: 6
  • -Receive: 41
  • Mensajes: 1719
Re:FInd, find next y previous en un JEditorPane
« Respuesta #2 : mayo 13, 2010, 06:26:43 am »
si para regresar seria settext, pero como hago q esa palabra o sentence regrese asi como seleccionada.

tipo select() ? hay una funcion highlighter algo asi pero no tengo la mas minima idea d como usarla

Desconectado NoeL

  • Administrator
  • Trade Count: (1)
  • The Communiter-
  • *
  • Thank You
  • -Given: 3
  • -Receive: 4
  • Mensajes: 3259
  • --=Vicio Letal=--
    • SvCommunity
Re:FInd, find next y previous en un JEditorPane
« Respuesta #3 : mayo 13, 2010, 07:41:13 am »
http://exequielc.wordpress.com/2008/01/26/trabajando-con-cadenas-java/

ojala te sirva, la verdad es que yo hace poco falle en el intento de hacer algo similar pero por cuestiones de tiempo, esta es una de las paginas que encontre en mi busqueda
La ofensa es como un buen haiku: puede ignorarse, desconocerse, perdonarse o borrarse, pero nunca puede ser olvidada.
Mi hoja es mi alma. Mi alma pertenece a mi Daimyo. Ultrajar mi hoja es afrentar a mi Daimyo.
La muerte no es eterna; el deshonor, sí

Desconectado moyo18

  • Trade Count: (0)
  • The Communiter-
  • *
  • Thank You
  • -Given: 6
  • -Receive: 41
  • Mensajes: 1719
Re:FInd, find next y previous en un JEditorPane
« Respuesta #4 : mayo 13, 2010, 09:42:14 am »
bueno creo q mas o menos eso q me paso noel es como seria, un compa;ero me paso la forma q es

la solucion es asi

String sentence = JOptionPane.showInputDialog("Enter the string" + "to search for:");
String words = editor.getText();
                                          editor.select(words.indexOf(sentence), words.indexOf(sentence) + sentence.length());

el method select agarra dos parametros. lo q hice es

primer parametro

words.indexOf(sentence) // agarra el indexOf de la palabra o oracion

el segundo

words.indexOf(sentence) + sentence.length() // el indexof de la palabra + el length q tiene

eso me seleciona la palabra en el text q tengo.

despues muestro como me quedo, es una simple aplicacion como el notepad, no es la gran cosa pero para alguien mas les podria servir esto.