Olá, eu possuo, um JTextArea e dentro dele tem o endereço de uma determinada homepage. Quero saber como eu faço para que esse endereço sirva de link para homepage.
JTextArea com link para homepage
9 Respostas
Com o JTextArea não faz.
Você precisa é usar um JEditorPane (ou um JTextPane, se não for modificável). Como ele suporta HTML, aí fica fácil transformar o texto num link:
http://download.oracle.com/javase/tutorial/uiswing/components/editorpane.html
então, eu mudei para JTextPane. Ai ficou:
private JTextPane info = new JTextPane();
info.setSize(240, 100);
info.setLocation(230, 350);
info.setEditable(false);
info.setVisible(true);
info.setText("\n"+
" MAP TESTE \n"+
" Versao: 1.0a \n"+
" Copyright BrasilInc. \n"+
" Todos os direitos reservados \n"+
" www.brasilinc.com.br");
info.setOpaque(true);
Mas eu soh quero apenas o endereço do site se torne um link, não o texto inteiro. Como eu faço?
Faz o setText com HTML:
info.setText("<html><body>"+
"<h1>MAP TESTE</h1>"+
"<ul><li>Versao: 1.0a"+
"<li>Copyright BrasilInc."+
"<li>Todos os direitos reservados: "+
"<a>www.brasilinc.com.br</a>" +
"</ul></html></body>");
Não funcionou não… ele escreveu na tela igualzinho como tah escrito no código… com as tags…
não formou link nenhum…
tem q importar alguma coisa??
Acrescente a linha:
Antes de definir o texto.
Agora jah tah aparecendo melhor… mas as letras estão enormes!!!
dei um info.setFont(…). mas não funcionou!!!
O que eu devo fazer?
É só manipular o HTML agora, do jeito que você faria com qualquer página HTML.
http://w3schools.com/html/default.asp
Tah… mas o link continua não funcionando… tem q adicionar algum listener?
pq nem ficou ativo, nem nada
Tem sim. Você precisa registrar um HiperLinkListener. O javadoc explica:
http://download.oracle.com/javase/7/docs/api/javax/swing/JEditorPane.html
Você pode usar a classe Desktop para navegar até o link:
http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/