> Hi,
>
[quoted text clipped - 3 lines]
> I would like to have a clickable URL link in a JLabel. It's OK if the
> whole label is a link.
Just use HTML in the JLabel text.
http://java.sun.com/docs/books/tutorial/uiswing/components/label.html
http://java.sun.com/docs/books/tutorial/uiswing/components/html.html
> Hi,
>
[quoted text clipped - 12 lines]
>
> Aaron Fude
This will work in an Applet but I'm sure not in an application. I
remember asking this question years ago but I don't remember the answer
I got. It may have been better than this one :-).
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.lang.reflect.*;
import java.net.*;
import javax.swing.*;
public class test2 extends JApplet {
public void init() {
try {
EventQueue.invokeAndWait(new Runnable() {
public void run() {
JLabel l = new JLabel("Knute's Website");
l.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent me) {
AppletContext ac =
test2.this.getAppletContext();
try {
ac.showDocument(new URL(
"http://www.knutejohnson.com"));
} catch (MalformedURLException murle) {
murle.printStackTrace();
}
}
});
add(l);
}
});
} catch (InvocationTargetException ite) {
ite.printStackTrace();
} catch (InterruptedException ie) {
ie.printStackTrace();
}
}
}

Signature
Knute Johnson
email s/nospam/knute/
...
>It seems like it would be a common question, but I have not been able
>to find a good reference.
It is a common question with no simple, straight forward answer.
>I would like to have a clickable URL link in a JLabel.
What sort of information are you opening in the link?
Is it from the your site? Do you have control over it?
>..It's OK if the whole label is a link.
This is easy enough with regular label with a MouseListener
attached, the mouseEntered event can be used to show the link
as 'active'.
>Ideally, the solution is implemented identically if the label is used
>in an applet or an application. I would like to be able to specify the
>target.
That makes it tricky. None of the methods of opening a browser
from an *application* include the option to specify 'target'.
>..The linked page should be displayed by the user's default
>browser.
OK, you ready?
Applet can use the showDocument method, but browsers never
had to implement it, there is no report of success or failure, and
many pop-up killers interfere with it. It does allow to specify a
target, which can be ignored by the browser if it chooses.
I would avoid it, if the information in the links is anything more
than trivial.
Applications.
Pre 1.6 applications would have to rely on BrowserLauncher2
(3rd party APIs), while 1.6+ can use the Desktop.browse()
functionality. Desktop reports success/failure, AFAIR, BL2
throws exceptions if it cannot find(/launch) the browser.
JWS (J2SE 1.2+) applications or applets have access to
BasicService.showDocument()..
<http://www.physci.org/jws/#bs>
Ultimately, it is easiest in a JWS app.

Signature
Andrew Thompson
http://www.physci.org/