Selección limitada en un JTextField / JTextComponent?

Considere un JFormattedTextField (o cualquier JTextComponent, realmente) en el que se muestra un prefijo y un sufijo alrededor del "texto" real del campo.

Por ejemplo, el doble 3.5 sería la Cadena (a través del formato) "3.50" alrededor del cual sería el prefijo "!$1$!quot; y el sufijo "", para un texto de visualización de "$ 3.50".

Claramente, esto es simple de hacer. Sin embargo, el usuario aún puede seleccionar texto dentro del prefijo / sufijo, por lo que posiblemente podría eliminar parte o la totalidad del prefijo / sufijo. Preferiría que el usuario esté restringido de modo que el prefijo / sufijo no se pueda seleccionar en absoluto (aunque todavía sea parte del campo de texto, por lo que no JLabels). Casi puedo lograr esto con un CaretListener (o anulando setCaretPosition / moveCaretPosition), que evita que una C-a seleccione todo el campo, y evita usar las teclas de flecha para moverse al prefijo / sufijo. Sin embargo, arrastrar el mouse y las teclas de flecha de desplazamiento aún permiten que la selección se mueva a estas áreas restringidas.

¿Algunas ideas