Dans ce tutoriel nous allons découvrir comment créer un lien hypertexte en utilisant le composant JLabel, car Swing n’a pas de composants intégrés pouvant afficher des liens hypertexte.
Tout d’abord, créez un JLabel comme d’habitude comme ceci:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
JLabel lien = newJLabel("www.waytolearnx.com");
JLabel lien = new JLabel("www.waytolearnx.com");
JLabel lien = new JLabel("www.waytolearnx.com");
Définissez la couleur de votre texte comme un lien hypertexte standard (bleu):
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
lien.setForeground(Color.BLUE.darker());
lien.setForeground(Color.BLUE.darker());
lien.setForeground(Color.BLUE.darker());
Pour que le curseur de la souris se transforme en une icône de « Poignée De Main » lorsque l’utilisateur déplace la souris sur l’étiquette, mettez son curseur comme suit:
Et pour rendre l’étiquette cliquable, ajoutez un listener de souris au JLabel:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
lien.addMouseListener(newMouseAdapter()
{
@Override
publicvoidmouseClicked(MouseEvent e){
// l'utilisateur a cliqué sur l'étiquette
}
@Override
publicvoidmouseEntered(MouseEvent e){
// la souris est entrée dans l'étiquette
}
@Override
publicvoidmouseExited(MouseEvent e){
// la souris a quitté l'étiquette
}
});
lien.addMouseListener(new MouseAdapter()
{
@Override
public void mouseClicked(MouseEvent e) {
// l'utilisateur a cliqué sur l'étiquette
}
@Override
public void mouseEntered(MouseEvent e) {
// la souris est entrée dans l'étiquette
}
@Override
public void mouseExited(MouseEvent e) {
// la souris a quitté l'étiquette
}
});
lien.addMouseListener(new MouseAdapter()
{
@Override
public void mouseClicked(MouseEvent e) {
// l'utilisateur a cliqué sur l'étiquette
}
@Override
public void mouseEntered(MouseEvent e) {
// la souris est entrée dans l'étiquette
}
@Override
public void mouseExited(MouseEvent e) {
// la souris a quitté l'étiquette
}
});
Nous redéfinissons la méthode mouseClicked() pour gérer l’événement dans lequel l’utilisateur clique sur le lien hypertexte. Et dans cette méthode, nous pouvons utiliser la classe Desktop pour ouvrir le lien hypertexte associé, par exemple:
Le système d’exploitation ouvrira un programme approprié qui s’associe à l’URL, généralement un navigateur si le lien est une URL d’un site Web.
Pour souligner le texte lorsque l’utilisateur déplace la souris sur le lien, nous pouvons définir le code HTML du texte avec la balise <a>. Vous pouvez donc redéfinir la méthode mouseEntered() comme ceci: