Como detectar a palavra clicada num text?

Olá Pessoal.

Eu estou fazendo um dicionário em Java. Quando o usuário der um único clique com o mouse sobre uma palavra presente num texto, na GUI, o dicionário abriará uma nova janela GUI com o significado da palavra. O significado da palavrar virá de um banco de dados. A minha dúvida é como implementar este evento da melhor forma. Ou seja, como o java identificará qual palavra sofreu o clique do mouse. Eu já tenho algumas idéias:

  1. usar um JTextPanel e implementar um listener para ele. Mas, como seria o código no listener capaz de identificar qual palavra foi clicada? ou
  2. Implementar um listener para o texto que me dÊ as coordenadas (x,y) da palavra, para que eu consiga indetificá-la com coordenadas X,Y gravadas no banco.

Qual destas idéias seria a mais apropriada? E como seria um exemplo de código em java para a identificação da palavra clicada?
Qualquer dica será de grande ajuda.
Muito obrigado.

Estes dias precisei de algo parecido. Adicionei um MouseListener à jList, que com um duplo clique, ele abriria uma nova janela de acordo com o valor selecionado. Neste caso precisei saber o índice no JList.

A partir disto você poderia usar algo como getSelectedText() em um campo com String ao invés do getSelectedIndex().

jlistaContatosAtivos.addMouseListener(new MouseAdapter() {

            @Override
            public void mouseClicked(MouseEvent e) {
                if (jlistaContatosAtivos.isEnabled()) {
                    if (e.getClickCount() == 2) {
                          indice = jlistaContatosAtivos.getSelectedIndex();
                          msgr.iniciarNovoChat();
                    }
                }
            }
        });

Olá Amigo(a).

Eu entendi perfeitamente a sua idéia. Neste caso, a palavra deverá estar selecionada no texto, para a sua idéia dar certo?
Eu não quero que a palavra seja selecionada obrigatoriamente, porque quero que tudo aconteça com um único clique do mouse.
Será que dá para fazer?

Abraços.

Rodrigo Pimenta Carvalho.