Foros del Web » Programación para mayores de 30 ;) » Java »

JTexPane con numeros de linea

Estas en el tema de JTexPane con numeros de linea en el foro de Java en Foros del Web. Buenas, Estoy haciendo un editor de texto (en un futuro sera un ide para un proy de la U xD) y ahora quiero implementar eso ...
  #1 (permalink)  
Antiguo 24/07/2010, 22:44
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 2
JTexPane con numeros de linea

Buenas,

Estoy haciendo un editor de texto (en un futuro sera un ide para un proy de la U xD) y ahora quiero implementar eso de que a las lineas de mi JTextPane les salga el numero de linea a la par, tal y como lo hance muchos editores (netbeans, notepad++, etc).

El problema de todo es el JScrollPane puesto que necesito tener 2 componentes agregados, un JPanel con los numeros y el JTextPane, entonces debo apregar el JTextPane al setViewportView pero no se como agregar el JPanel tambien.

Alguien con alguna idea para hacer esto??

Gracias de antemano por toda su ayuda.
  #2 (permalink)  
Antiguo 25/07/2010, 00:45
 
Fecha de Ingreso: julio-2010
Mensajes: 19
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: JTexPane con numeros de linea

Bueno, lo he logrado.. utilizando el metodo setRowHeaderView de JScrollPane se puede colocar un componente de esa forma.

Ahora lo siguiente que necesito es saber cuando se esta haciendo una nueva linea (enter) y cuando se esta eliminando. La primera es bastante sencilla pues solo necesito dectectar si da un enter, pero la segunda si no tengo idea alguna.

Editado: Bueno, si de alguna forma pudiera saber el caracter que se esta eliminando con la tecla backspace y/o delete para asi determinar si se esta eliminando la linea..

Me ayudan?? Gracias...

Última edición por briant14; 25/07/2010 a las 01:34

Etiquetas: linea, numeros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:47.