Foro de elhacker.net

Programación => Java => Mensaje iniciado por: soser en 22 Octubre 2010, 06:14 am



Título: Buscar texto y sleccionarlo en JEditorPane
Publicado por: soser en 22 Octubre 2010, 06:14 am
Bien, estoy tratando de hacer una funcion con un JEditorPane en la que el usuario ingrese una palabra y esa palabra sea buscada y seleccionada en el panel, obviamente buscara todas las que hay en el panel, bien el problema que tengo es que cuando empieza a buscar y lo encuentra se posiciona en la linea donde esta la palabra y me selecciona el tamaño de la palabra pero no la palabra en si, es decir si por ejemplo pongo la palabra "por"  solo me selecciona "or "y el espacio que sigue, y si le vuelvo a dar buscar lo encuentra pero no selecciona "por" sino alguna parte del renglon de tamaño 3, bien aqui mi codigo:
Código:
//pal es el JEditorPane
Object[] opc={"Si","No"};
        String lala="";
        JOptionPane x= new JOptionPane();
        lala=x.showInputDialog(null, "IR a->", "Buscar", JOptionPane.QUESTION_MESSAGE);
        int pos=0;       
        int z=x.YES_NO_CANCEL_OPTION;
        if(z!=x.YES_OPTION){
            Object[] opciones={"SI","No"};
            int opcion=JOptionPane.showOptionDialog(this,"Ir ","Buscar",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,opciones,opciones[0]);
            pal.requestFocus();
            String textcomp="";
            textcomp=pal.getText();           
            while(opcion!=JOptionPane.NO_OPTION){       
            pos=textcomp.indexOf(lala, pos);
            if(pos!=-1)
            {
                pal.select(pos,pos+lala.length());
            }
            else{JOptionPane.showMessageDialog(null,"No esta la palabra"+lala, "Fin",JOptionPane.INFORMATION_MESSAGE);break;}           
            pos++;
           
            opcion=JOptionPane.showOptionDialog(this,"Ir","Buscar",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,opciones,opciones[0]);
            }
        }

    }

Agradeceria su ayuda