Звучит сложно. Это просто не в моей голове и, вероятно, не получит права голоса. Но вы могли бы сделать это.
Предполагая, что есть какой-то HoverListener или что-то, что вы можете реализовать, иначе вам придется реализовать прослушиватель мыши и встроить свой собственный таймер ожидания. Но как только вы попадаете сюда, до точки, когда вы знаете, что хотите открыть всплывающую подсказку, вы просто не знаете, на какой букве / слове они написаны. Я вполне уверен, что возможно получить позицию курсора на экране. Затем, используя эту позицию, вы сможете рассчитать, где курсор находится внутри TextArea, а затем вы можете получить символ. Когда у вас есть персонаж / местоположение, вы также можете взять все слово без особой работы. (Обратите внимание, что вы хотите получить «область просмотра» текстовой области при расчете над курсором, если ваша текстовая область имеет полосы прокрутки, область просмотра будет представлять только область, видимую на экране)
Извините за очень многословный ответ, но это общая логика, которую я бы попробовал, если бы у меня была такая функциональность, и я знаю, что Swing не предлагает ее. Надеюсь, это станет хорошей отправной точкой.