Я сомневаюсь, что приведенное выше предложение сработает. JTextArea непрозрачен, поэтому текст будет закрашен поверх изображения. Поэтому, по крайней мере, вам нужно будет сделать текстовую область непрозрачной, а затем вам нужно будет поиграть с цветами фона области просмотра и / или полосы прокрутки.
Если вы хотите использовать повторно используемое решение, попробуйте создать ImageBorder. Порядок покраски:
а) Компонент краски
б) PaintBorder
в) рисовать детей
Так что, если вы добавите границу к текстовой области, она будет рисоваться поверх текста в фиксированном месте.
Или, если вы добавите границу в область просмотра, она будет рисовать под текстом плавающее местоположение.