Hyperlien dans un JtextPane

fabgog Messages postés 15 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 25 avril 2008 - 4 nov. 2004 à 09:45
fabgog Messages postés 15 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 25 avril 2008 - 4 nov. 2004 à 11:50
Voila j'aimerai savoir comment mettre et gerer les hyperlien dans un Jtextpane.
J'ai eu bo tester certaines chose je n'arrive a rien

merci d'avance

2 réponses

indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
4 nov. 2004 à 10:53
Slut

Ben moi, j'utilise plutôt le JEditorPane, mais j'ai un truc de ce style :

/**
 * Titre : SuiviDeLien

 * Description : Classe permettant de récupérer les liens hypertextes des fichiers HTML

 * Copyright : Copyright (c) 2004

 * Société : BakaOne

 * @author Indiana_jules
 * @version 1.0
 */

//Importation des packages nécessaires
import java.awt.Cursor;
import javax.swing.JEditorPane;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;

public class FollowLink implements HyperlinkListener{
  //Variables globales
  private JEditorPane panneau;
  private Cursor main = new Cursor(Cursor.HAND_CURSOR);
  private Cursor defaut = new Cursor(Cursor.DEFAULT_CURSOR);

  /**Constructeur par défaut*/
  public FollowLink() {
  }

  /**Constructeur
   * @param panneau Indiquation du JEditorPane de destination*/
  public FollowLink(JEditorPane panneau) {
    this.panneau = panneau;
  }

  /**Méthode retournant le JEditorPane
   * @return Retour du JEditorPane destination*/
  public JEditorPane getPanneau() {
    return panneau;
  }

  /**méthode permettant d'agir lors d'un clique sur un lien
   * @param evt Gestionnaire d'événement*/
  public void hyperlinkUpdate(HyperlinkEvent evt) {

    /*permet de changer le pointeur de la souris lors du survol d'un lien
        hypertext*/
    if(evt.getEventType()==HyperlinkEvent.EventType.ENTERED) {
      panneau.setCursor(main);
    }
    /*permet de changer le pointeur de la souris en pointeur normal après
        le survol d'un lien hypertext*/
    else {
      panneau.setCursor(defaut);
    }

    //si on clique sur un lien hypertexte, on l'affiche soit dans le JEditorPane
    if(evt.getEventType()==HyperlinkEvent.EventType.ACTIVATED) {
      try {
        panneau.setPage(evt.getURL());
      }
      catch (Exception e) {
      }
    }
  }

  /**Méthode permettant de définir le JEditorPane destination
   * @param panneau JEditorPane destination*/
  public void setPanneau(JEditorPane panneau) {
    this.panneau = panneau;
  }
}


Et ensuite, quand je veux afficher du code HTML avec des liens :
File f = new File("./information/tutorial.html");
JEditorPane editDocumentation = new JEditorPane();
editDocumentation.setEditable(false);
editDocumentation.setPage("file:"+f.getAbsolutePath());
editDocumentation.addHyperlinkListener(new FollowLink(editDocumentation));
 JScrollPane documentation = new JScrollPane(editDocumentation, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);


Voilà, en espérant que cela répond à ton attente

[Tout le monde a des idées : la preuve, c'est qu'il y en a de mauvaises]
0
fabgog Messages postés 15 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 25 avril 2008
4 nov. 2004 à 11:50
Merci
je v tester ca
0
Rejoignez-nous