Habilitar trecho de texto "clicável" em componente'

Olá GUJ!

Desenhando uma GUI, preciso exibir um texto em um componente (a princípio um JTextPane) e habilitar que determinadas frases sejam coloridas e que ao serem clicadas possam disparar eventos na interface gráfica. Alguém sabe como posso realizar isso?

Grato à todos desde já.

com este método você captura o evento do TextField.

     jTextField1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
               //your code here
            }
        });

Não é isso que estou querendo. Não domino o assunto, seria algo como um Listener para o texto, e não para a caixa de texto.

Preciso que SOMENTE TRECHOS sejam “clicáveis” e coloridos à parte.

Grato pela resposta.

Um documentfilter ajuda um monte na hora de colorir textos, exemplo aqui:
http://www.guj.com.br/java/279904-resolvidomudar-cor-texto-em-jtexarea-ou-jtextpane

Para serem clicáveis, um MouseListener dá conta do recado, o problema são esses “SOMENTE TRECHOS”.Talvez por um mouse listener que “ouça” apenas os trechos que lhe sejam pertinentes(esperando uma tal sequencia de caracteres, senão ignora a execução da ação).

Com um JEditorPane eu consigo fazer isto…

Crie um JEditorPane e faça o seu texto com HTML. Os trechos coloridos você faz com a tag e os clicáveis com a tag . No JEditorPane você coloca um HyperlinkListener para capturar um clique nos links.

Exemplo:

JEditorPane jep = new JEditorPane("text/html", ""); jep.addHyperlinkListener(new HyperlinkListener() { @Override public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { switch(e.getDescription()){ case FAZ_ALGO: fazAlgo(); break; case FAZ_OUTRA_COISA: fazOutraCoisa(); break; } } } }); String texto = "<html>"+ "<head>" "<style type='text/css'>"+ ".cor{#00ffff}"+ "</style>"+ "</head>" "<body>"+ "Lorem <span class='cor'>ipsum</span> dolor <a href='fazAlgo'>sit amet</a>, consectetur adipiscing elit."+ "</body>"+ "</html>"; jep.setTexto(texto);

No HREF das tags você coloca palavras-chave para capturar e comparar para qual evento elas apontam. Lembrando que as cores CSS no JEditorPane devem ter obrigatoriamente 6 caracteres, não funciona se simplificar por exemplo de #ffffff para #fff.