No lo veo posible con las clases estándar del JDK.
Tal vez extendiendo el DefaultStyledDocument, y con bastante trabajo, puedas lograrlo.
De todos modos lo veo bastante difícil, porque al ser editable el texto anterior a la URL, las posiciones pueden cambiar debido a la edición del usuario.
Si el usuario coloca el cursor encima de la URL, habría que determinar en qué posición comienza, para poder usar un método sobreescrito del insertString
http://docs.oracle.com/javase/7/docs/api/javax/swing/text/AbstractDocument.html#insertString(int, java.lang.String, javax.swing.text.AttributeSet)
que bloquee la edición.
Buenas!
Tengo un JEditorPane en el que inserto código html para las URL. Pero estas URL quiero que sean no editables, pero si todo lo demás. Por ejemplo si tengo en el JTextPane el siguiente texto:
"Esto es texto editable en un JEditorPane, pero las urls no son editables"
Siendo el texto "las urls" una url que se puede pinchar en ella pero no se puede editar.
He visto que esto se podría hacer con DocumentListener, pero no entiendo muy bien como.
¿Se os ocurre otra manera mejor?
Gracias por todo y Saludos!