[java][jeditorpane]n'affiche pas les liens

peppena Messages postés 143 Statut Membre -  
choubaka Messages postés 39986 Date d'inscription   Statut Modérateur Dernière intervention   -
bonjour ,
mon jeditoe pane affiche les liens en bleu mais ne modifie pas le curseur lors de l'affichage du lien et ne fait aucune action si on clique surt le lien

voila mon code

Code:

package test_classes;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
import java.net.*;

public class HTMLExample {
public static void main(String[] args) {
JEditorPane pane = null;
try {
File f = new File ("E:\\myclasses\\execaffiche\\test.html");
URL url = f.toURL();
pane = new JEditorPane(url);
}
catch (IOException ex) {
ex.printStackTrace(System.err);
System.exit(1);
}
pane.setEditable(false);

// Add a hyperlink listener.
final JEditorPane finalPane = pane;
pane.addHyperlinkListener(new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent ev) {
try {
if (ev.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
finalPane.setPage(ev.getURL());
} catch (IOException ex) { ex.printStackTrace(System.err); }
}
});

JFrame frame = new JFrame();
//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new JScrollPane(pane));
frame.setSize(350,400);
frame.setVisible(true);
}
}

kkun peut me dire ce qui ne va pas ?
A voir également:

2 réponses

choubaka Messages postés 39986 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
salut

pane.addHyperlinkListener(new HyperlinkListener() { 


HyperLinkListener est une interface, je me trompe?

de ce que je peux lire, cette interface ne réagit que lorsque le link est updaté, si tu veux qu'une réaction s'effectue quand on clique dessus par exemple, tu dois prévoir un objet du style ActionListener..

je pense qu'une solution possible serait de créer une innerclasse implémentant l'interface HyperLinkListener et l'interface ActionListener

ChoubaPostor 10000 :
Le plus bô des modos.
1
Nettogrof Messages postés 522 Statut Membre 672
 
Salut

Tout semble bien, mais je me pose la question:
final JEditorPane finalPane = pane;

Cette ligne sert à quoi? et pourquoi n'utilise pas seulement pane au lieu de finalPane pour mettre ton "hyperlink listener"?

Nettogrof tseb era seiromem emoS
0