[java][jeditorpane]n'affiche pas les liens
peppena
Messages postés
143
Statut
Membre
-
choubaka Messages postés 5534 Date d'inscription Statut Modérateur Dernière intervention -
choubaka Messages postés 5534 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 ?
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 ?
2 réponses
-
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. -
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