public void mouseClicked(MouseEvent e) {
   if (e.getClickCount() >= 2) {
     int row = this.tabelaDeErros.getSelectedRow();
     if (row == -1) return;
     int linhaToGo = Integer.parseInt(tabelaDeErros.getValueAt(row, 0).toString());
     if (linhaToGo == 0) return;
     textAreaSourceCode.goToLine(linhaToGo);
     textAreaSourceCode.selectLine(linhaToGo);
     erroAtual = row;
     btnAplicar.setEnabled(true);
     RegrasHardCodedEmag regra = new RegrasHardCodedEmag();
     texto.setText(regra.getAtributo(controle.getTag(erroAtual), "alt"));
   }
 }
  private void reavalia(String codigo) {

    tabelaDeErros.initComponents();
    // boxCode.coloreSource();
    controle = new ControleLinkRedundante();
    // xhtmlValidator.avalia(arquivo.getFile());

    controle.avalia(codigo);
    if (controle.length() == 0) {
      tabelaDeErros.addLinha(0, 0, XHTML_Panel.DOC_SEM_ERROS);
    }

    for (int i = 0; i < controle.length(); i++) {
      tabelaDeErros.addLinha(controle.getLinha(i), controle.getColuna(i), controle.getTag(i));
      // boxCode.marcaErro(ini, fim);
      textAreaSourceCode.marcaErro(
          controle.getLinha(i), controle.getColuna(i), controle.getTag(i).length());
    }
    btnAplicar.setEnabled(false);
    // domValidator
  }
  public void actionPerformed(ActionEvent e) {
    String cmd = e.getActionCommand();
    if (cmd == "Salvar") {
      salvaAlteracoes.salvar();
      /*	if (arquivo == null) {
      	salvarComo();
      	// avalia();
      	return;
      }
      arquivo.write(boxCode.getText());//*/
      // avalia();
      reavalia(textAreaSourceCode.getText());
    } else if (cmd == "Aplicar") {

      if (controle != null) {

        int pos = controle.getIniIndex(erroAtual);
        String newCod;
        try {
          newCod = controle.corrige(texto.getText(), erroAtual);
          textAreaSourceCode.setText(newCod);
          salvaAlteracoes.setAlterado();
          TxtBuffer.setContent(textAreaSourceCode.getText());
          reavalia(newCod);
          textAreaSourceCode.getTextPane().setCaretPosition(pos);
        } catch (ExceptionImagemNotFound e1) {
          JOptionPane.showMessageDialog(this, e1.getMessage());
        }
        controle.avalia(textAreaSourceCode.getText(), true);
      }
    } else if (cmd == "AbrirURL") {
      String url;
      url = JOptionPane.showInputDialog(this, GERAL.DIGITE_ENDERECO, "http://");
      avaliaUrl(url);
      // JOptionPane.showMessageDialog(null, "Seu nome é " + nome);

    } else if (cmd == "Abrir") {

      String a[] = {".html", ".htm"};
      G_File temp = new G_File(caminhoRecente.read(), a);
      if (temp.getFile() != null) {
        avaliaArq(temp);
      }
    } else if (cmd == "SaveAs") {
      // salvarComo();
      salvaAlteracoes.salvarComo();
      // avalia();
    } else if (cmd == "Creditos") {
      new Creditos();
    } else if (cmd == "Sair") {
      System.exit(0);
    } else if (cmd == "Desfazer") {
      textAreaSourceCode.undo();
      // boxCode.coloreSource();
      // reavalia(boxCode.getText());
    } else if (cmd == "AumentaFonte") {
      textAreaSourceCode.aumentaFontSize();
    } else if (cmd == "DiminuiFonte") {
      textAreaSourceCode.diminuiFontSize();
    } else if (cmd == "Contraste") {
      textAreaSourceCode.autoContraste();
      reavalia(textAreaSourceCode.getText());
    } else if (cmd == "SelecionarTudo") {
      textAreaSourceCode.getTextPane().selectAll();
      if (painelOriginal != null) {
        painelOriginal.textAreaSourceCode.getTextPane().selectAll();
      }
    } else if (cmd == "Cancelar") {
      salvaAlteracoes.cancelar();
    }
  }