opcion de busqueda en JTextPane

jwaldo
26 de Mayo del 2006
necesitaria saber la posicion determinada de un String cualquiera, que yo intrduzca en un JOptionPane
He intentado recorrer el JTextPane o el documento del JTextPane a traves de un for con el metodo getText, pero cuando hay saltos de pagina(n) siempre me sale la excepcion BadLocationException
como se podria resolver esto aqui pongo el codigo, MUCHAS GRACIAS:

String buscarDato = JOptionPane.showInputDialog(buscar,"Introduce el texto a buscar","BUSQUEDA",JOptionPane.QUESTION_MESSAGE);

try
{
while(contador < panel.getTextos().getText().length())
// LA VARIABLE CONTADOR ES PRIVADA A LA CLASE
{

System.out.println("CONTADOR "+contador+"tBUSCARDATO.LENGTH() "+buscarDato.length());
if (buscarDato.equals(panel.getTextos().getText().substring(contador, contador + buscarDato.length())))
{
panel.getTextos().select(contador, contador + buscarDato.length());
System.out.println("CONTADOR "+contador+" "+panel.getTextos().getText().substring(contador, contador + buscarDato.length()));
System.out.println("n"+panel.getTextos().getText()+"n");

// panel.getTextos() SE REFIERE AL JTEXTPANE
contador++;
break;
}
contador ++;
}
}
catch(StringIndexOutOfBoundsException ex)
{
JOptionPane.showMessageDialog(buscar,"no se encontraron mas resultados","FIN DE BUSQUEDA",JOptionPane.INFORMATION_MESSAGE);
contador = 0;
}
catch(Exception en)
{
// AQUI SALTA LA EXCEPCION BADLOCATIONEXCEPTION
}
}