buscar palabra en un texto de un jTextArea y cambiar de color

Technology

buscar palabra en un texto de un jTextArea y cambiar de color

puedes ver un ejemplo en la siguiente imagen:

busca el texto de un escrito en el siguiente codigo lo tengo para que busque todo palabra que sea andres2288 osea si hubiera otra palabra con el nombre andres2288 la pintaria de color verde si quieren que solo pinte la primera me pueden escribir , en lo siguiente varios usuarios que no tienen mucha orientacion en programacion en java me pidieron que empezara desde cero ya que desarrolle un metodo que envia por parametro el jTextArea y el texto para simplicidad bueno empezemos:

1. creamos un nuevo formulario click derecho-->nuevo-->Jfram Form le pondremos el nombre de color, pasamos un jTextArea  y un Text Field y un Button el boton le pondremos pintar, el nombre del la variable jTextArea le pondremos t1 , eso se hace click derecho cambiar nombre de la variable , con el  Text Field  lo mismo le pondremos t2 , mas o menos quedaria como la siguiente imagen:

despues de esto pondremos el siguiente metodo ó codigo por ahy en la clase color del Jframe:



public void buscarpalabra(JTextArea area1, String texto) {
        if (texto.length() >= 1) {
            DefaultHighlighter.DefaultHighlightPainter highlightPainter = new DefaultHighlighter.DefaultHighlightPainter(Color.GREEN);
            Highlighter h = area1.getHighlighter();
            h.removeAllHighlights();
            String text = area1.getText();
            String caracteres = texto;
            Pattern p = Pattern.compile("(?i)" + caracteres);
            Matcher m = p.matcher(text);
            while (m.find()) {
                try {
                    h.addHighlight(m.start(), m.end(), highlightPainter);
                } catch (BadLocationException ex) {
                    Logger.getLogger(color.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        } else {
            JOptionPane.showMessageDialog(area1, "la palabra a buscar no puede ser vacia");
        }
    }


obviamente debemos hacer los import correspondientes:

luego solo es llamar el metodo desde el boton cuando el usuario de click en el boton para los que no sepan como llamarlo desde el boton O_o  damos doble click en el boton pintar y en ese campo colocamos lo siguiente como muestra la imagen:




Post a Comment

0 Comments