Hiperligação em JLabel

6 respostas
B

Boas tenho uma Jlabel assim:

JLabel label1 = new JLabel("http://meuendereço.com);
this.add(label1);

Mas queria que esta label permitesse o utilizador carregar por cima do endereço e abrisse o Brownser naquele endereço, ou seja, quero fazer uma hiperligação á quela jlabel.

Como faço isso? obrigado

6 Respostas

S

Os componentes Swing aceitam HTML. Toericamente vc teria que fazer o seguinte:

JLabel label1 = new JLabel("<html><a href=\"http://meuendereço.com\" >texto</a></html>);
this.add(label1);

Isso dará oa label o aspecto de um link, mas não irá seguir o link. Para isso vc precisa de implementar um mouselistener e implemntar o seu proprio codigo.

Eu disse teoricamente, pq nunca experimentei usar HTML com Swing

B

“sergiotaborda”:
Os componentes Swing aceitam HTML. Toericamente vc teria que fazer o seguinte:

JLabel label1 = new JLabel("<html><a href=\"http://meuendereço.com\" >texto</a></html>);
this.add(label1);

Isso dará oa label o aspecto de um link, mas não irá seguir o link. Para isso vc precisa de implementar um mouselistener e implemntar o seu proprio codigo.

Eu disse teoricamente, pq nunca experimentei usar HTML com Swing

pois… eu queria que ele seguisse o link! alguem sabe como se faz?

S

Como assim , seguir o link ?
Abrir o browser do sistema no endereço dado ?

Eis o codigo para responder ao click

lable1.addMouseListener( new MouseAdapter () {
         public void mouseClicked(MouseEvent e) {
              // codigo para seguir o link
         }

  });

Seguir o codigo é um processo especifico de cada programa. Por exemplo, um link pode ser apenas um buttão que faz alguma tarefa. No caso de vc estar usado java 6 ( e apenas neste caso) vc pode fazer o browser abrir no endereço desejado com

Desktop.getDesktop().browse("http://meuendereco.com.br");

ou seja

lable1.addMouseListener( new MouseAdapter () {
         public void mouseClicked(MouseEvent e) {
              Desktop.getDesktop().browse("http://meuendereco.com.br");
         }

  });
B
"sergiotaborda":
Como assim , seguir o link ? Abrir o browser do sistema no endereço dado ? Eis o codigo para responder ao click
lable1.addMouseListener( new MouseAdapter () {
         public void mouseClicked(MouseEvent e) {
              // codigo para seguir o link
         }

  });

Seguir o codigo é um processo especifico de cada programa. Por exemplo, um link pode ser apenas um buttão que faz alguma tarefa. No caso de vc estar usado java 6 ( e apenas neste caso) vc pode fazer o browser abrir no endereço desejado com

Desktop.getDesktop().browse("http://meuendereco.com.br");

ou seja

lable1.addMouseListener( new MouseAdapter () {
         public void mouseClicked(MouseEvent e) {
              Desktop.getDesktop().browse("http://meuendereco.com.br");
         }

  });

Boas ele não está a reconheçer o Desktop ( Desktop.getDesktop()...), porque será?

S

“BrunoR”:

Boas ele não está a reconheçer o Desktop ( Desktop.getDesktop()…), porque será?

Isso só funciona em java 6. É esse o java que está usado ?

Z

sergiotaborda:
“BrunoR”:

Boas ele não está a reconheçer o Desktop ( Desktop.getDesktop()…), porque será?

Isso só funciona em java 6. É esse o java que está usado ?

Em relação a hiperligação de JLabel, existe alguma alternativa para a versão 5 do java?

Agradeço desde ja…

Zmiyewski

Criado 24 de fevereiro de 2007
Ultima resposta 25 de set. de 2009
Respostas 6
Participantes 3