TransWikia.com

¿Como colocar el puntero en una coordenada X,Y especifica en un jTextArea?

Stack Overflow en español Asked by M Angel ambrose on January 16, 2021

Estoy creando un compilador, he creado una función que una vez que se halla colocado una llave de apertura "{" se coloque automáticamente la llave de cierre "}", el problema es que el cursor aparece después de haberse colocado esta ultima llave mencionada, de esta manera:

Colocación errónea del puntero

Cuando en realidad lo que yo busco es un resultado de esta manera:

Colocación correcta del puntero

Es decir, que necesito que el cursor aparezca después de haber escrito la primera llave de apertura.

One Answer

Podes utilizar setCaretPosition(int position) para moverte a una posición en particular dentro del texto (setCaretPosition]). Entiendo que lo que buscas es que se acceda a una posición X-Y que sería como ir a la fila Y en la posicion X. Para lograr eso podrías usar getCaretPosition() luego de insertar los { } y restar 2 posiciones o las que fuesen necesarias. No es lo mismo pero no se como estas manejando las filas y columnas de tu texto.

Otra alternativa podría ser que luego de las inserciones de { } emules el keypress de la flecha hacia la izquierda tantas veces requieras. No es lo ideal pero es otra cosa que se me ocurre probar.

Answered by andres on January 16, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP