Ver Mensaje Individual
  #8 (permalink)  
Antiguo 31/03/2009, 10:45
diealco
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: saber coordenadas del caret en jtextpane

vdpazmino yo no se si tiene mucho sentido o no, pero en los documentos de sun y de eclipse es lo que viene. de todas formas no segui ese camino porque sabia que me iba a dar mas problemas que soluciones

bueno al final no he necesitado mirar la biblioteca de eclipse. es mas complicado pero lo he hecho. a todo esto tengo que dar las gracias a otra persona que me indico como hacerlo


teniendo un jtextpane(como era mi caso) la forma es la siguiente:
lo primero hay que completar el metodo caretUpdate(CaretEvent e) de la clase CaretListener
heredando de ella una clase nueva y modificandolo con
int dot = e.getDot();
int mark = e.getMark();

con esto tenemos los parametros del caret(cursor)

el mark en mi caso no lo necesito pero bueno

luego tienes que crear un rectangulo y para poder obtener las coordenadas, algo parecido a esto
Rectangle caretCoords = jTextPane1.modelToView(dot);
y luego con
caretCoords.x
caretCoords.y
consigues las coordenadas. todo ello dentro del metodo careUpdate

al final son 4 lineas. pero oye cuesta lo suyo

aah se me olvidaba.

luego creas en la clase jtextpane un listener del tipo de la clase esta que hemos modificado y añadirle a los listener del jtext pane
algo asi:

caretListenerMod = new CaretListenerMod();
jTextPane1.addCaretListener(caretListenerMod);

Última edición por diealco; 31/03/2009 a las 10:49 Razón: incompleto