Java - posicionar cursor

 
Vista:

posicionar cursor

Publicado por tiquio (4 intervenciones) el 19/02/2005 20:31:41
¿Cómo puedo colocar el cursor en JTextArea en una fila y columna concretas, es decir posicionar el cursor bidireccionalmente?.
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:posicionar cursor

Publicado por Yamil Bracho (2310 intervenciones) el 21/02/2005 01:14:12
Tienes el metodo moveCaretPosition(int pos) donde pos es la posicion del caracter comenzando desde 0 que es el primer caracter
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:posicionar cursor

Publicado por Tiquio (4 intervenciones) el 21/02/2005 10:10:33
Yamil, gracias por responder. Con el método que me indicas debo contar los caracteres desde el principio del documento hasta una posición concreta y esto, a veces, resulta tedioso ya que estoy desarrollando una aplicación para escribir código indentado y no se el número de tabulaciones que debo poner. ¿Conoces algún otro método?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:posicionar cursor

Publicado por Yamil Bracho (2310 intervenciones) el 21/02/2005 13:29:19
Si, realmente es tedioso. Una idea que pudiera darte es que hagas un metodo que reciba la fila y columna y de alli te retorna la posicion del caracter. Solo debes tomar en cuenta que tienes filas de longitud fija.
La formula que creo que puedes aplicar es :

public int getPos( int fila, int col ) {
fila--;
col--;
return col + ( fila * CARACTERES_POR_LINEA );
}

donde CARACTERES_POR_LINEA es una constante que te dice cuantos caracteres tienes por linea. Por ejemplo 80
Las filas y columnas comienzan desde 1. Por ejemplo para acceder al elemento en la fila 1, columna 1 haces
int pos = getPos(1,1) // Debe retornar 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar