Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/05/2009, 16:32
mariano_donati
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 1 mes
Puntos: 9
Respuesta: getCaretPosition() no tiene en cuenta los tabs

De todas formas diste en la clave para que pueda resolverlo. La funcion que implemente es esta, si ves algun error me gustaria que me dijeras asi la perfecciono:
Código java:
Ver original
  1. private int countTabsToSpaces(int start, int length)
  2.     {
  3.         int count = 0;
  4.         int taboffset = 0;
  5.         int tabcount = 0;
  6.         String text = "";
  7.  
  8.         try
  9.         {
  10.             text = getText(start, length);
  11.         }
  12.         catch(BadLocationException e){}
  13.  
  14.         for(int i=0 ; i<length ; i++)
  15.         {
  16.             if(text.charAt(i) == '\t')
  17.             {
  18.                 count += 15 - taboffset;
  19.                 taboffset = 0;
  20.                 tabcount++;
  21.             }
  22.             else
  23.             {
  24.                 taboffset++;
  25.             }
  26.         }
  27.  
  28.         return count - tabcount; // RESTAMOS tabcount PARA EVITAR UNA DOBLE CONTABILIZACION
  29.     }

Gracias.
Saludos.
__________________
Add, never Remove