IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

[JEditorPane] Rafraichir un JeditorPane


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 34
    Par défaut [JEditorPane] Rafraichir un JeditorPane
    Bonjour, j'ai un gros problème pour modifier un JEditorPane affichant des pages HTML.

    Je vous expose la chose de la meilleure manière possible :

    Lorsque je charge pour la première fois une page html dans le JEditorPane, pas de problèmes, elle s'affiche bien. Lorsque je veux afficher une autre page, je réutilise exactement la même technique, mais la nouvelle page ne s'affiche pas. J'ai testé toutes mes données récupérées dans ses pages, et il n'y a pas de doutes, je fournit bien la bonne URL a mon JEditorPane et pas tout le temps la même.

    J'en ai donc bien conclus que c'est un simple problème de rafraichissement de mon JEditorPane... simple... aie aie aie !

    Pourtant, impossible de rafraichir ce JEditorPane, malgré des repaint(), revalidate(), updateUI(), ... la totale quoi !

    Alors, je vous pose cette question : Comment fait on pour raffraichir un JEditorPane ? Dois-je appliquer un repaint sur le JEditorPane lui même? Sur son container (En l'occurance un JScrollPane ?).

    Pourriez-vous me donner un tout petit exemple concret de rafraichissement d'un JEditorPane contenu dans un JPanel ou un JScrollPane après qu'on lui aie indiqué une page à afficher ( via setPage() ) ?

    Merci d'avance et à très bientot j'espère !

  2. #2
    Membre Expert
    Avatar de Ioan
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 737
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    public class Test extends JFrame{ 
    	private JEditorPane jep; 
    	private JTextField adresse; 
    	private JButton go;
    	public Test(){ 
    		super("Test");
     
    		jep = new JEditorPane();
    		adresse = new JTextField("http://www.google.fr");
    		go = new JButton("GO");
    		go.addActionListener(new ActionListener(){
    			public void actionPerformed(ActionEvent ae){
    				try{
    					jep.setPage(new URL(adresse.getText()));	
    				}catch(Exception e){
    					jep.setText(e.toString());	
    				}
    			}	
    		});		
     
    		getContentPane().add(adresse, BorderLayout.NORTH);
    		getContentPane().add(new JScrollPane(jep), BorderLayout.CENTER);
    		getContentPane().add(go, BorderLayout.SOUTH);
     
    		go.doClick();
     
    		setSize(600,600);
    		setLocationRelativeTo(null); 
    		setDefaultCloseOperation(EXIT_ON_CLOSE); 
    		setVisible(true);
    	}
    	public static void main(String[] args){
    		new Test();
    	}
    }
    Il manquera naturellement toute la mise en page des pages web et leurs fonctionnalités.
    Bonne chance.
    @+
    Les FAQs Java, J2EE, JDBC, Struts > Les cours > Le Forum Java.
    Merci de respecter les règles du club.
    Mon blog : quelques news sur Java, Linux et le monde de l'Open Source.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 34
    Par défaut
    Merci pour cette réponse très rapide.

    Malheureusement ca n'arrange pas mon problème car ca je sais faire .

    Voici mon bout de code qui est exécuté a chaque fois qu'on veut recharger une page html ( qui est tjrs la meme et qui se trouve sur le disque ).

    ( ce bout de code est une méthode que j'appelle a chaque fois qu'on recharge la page )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    File file = new File("temp/inuse.html");
          URL url = file.toURL();
          rssMainTextField.setPage(url);
    Précisions :

    le container de rssMainTextField est un JScrollPane, lui même contenu dans un panel, lui même affiché via un CardLayout. à chaque fois qu'on charge le fichier HTML, le panel contenant tout ca est rappelé via la méthode show de CardLayout.

    Je ne comprends donc pas pk les modifications apportées à la page ne sont pas affichées ( et j'ai bien vérifié, ces modification sont bien réelles ). Je me demande donc si il ne faut pas un repaint ou quelque chose comme ca? Malheureusement tout ce que j'essaye ne marche pas [/code]

  4. #4
    Membre Expert
    Avatar de Ioan
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    737
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 737
    Par défaut
    Bonjour,
    C'est dans la doc de setPage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If the desired URL is the one currently being displayed, the document will not be reloaded. To force a document reload it is necessary to clear the stream description property of the document. The following code shows how this can be done: 
       Document doc = jEditorPane.getDocument();
       doc.putProperty(Document.StreamDescriptionProperty, null);
    Bonne chance.
    @+
    PS : c'est pas toi qui avais un pb sur du xml ? C'est résolu ?
    Les FAQs Java, J2EE, JDBC, Struts > Les cours > Le Forum Java.
    Merci de respecter les règles du club.
    Mon blog : quelques news sur Java, Linux et le monde de l'Open Source.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 34
    Par défaut
    Merci ! Ca marche enfin ! Je n'y croyais plus, ca me bloquais complètement dans mon projet.

    Oui c'est bien moi qui avait un problème avec XML. J'ai réussi à trouver une solution que je vais exposer sur le forum et je mettrai un résolu, comme à ce thread ci ! Merci à toi encore !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JEditorPane] Quel listener utiliser?
    Par Pill_S dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 27/07/2004, 14h32
  2. [JEditorPane]Captures des touches claviers
    Par splend_f dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 17/05/2004, 15h57
  3. [JEditorPane]ajout de balises html
    Par almass dans le forum Composants
    Réponses: 12
    Dernier message: 12/05/2004, 18h07
  4. [JEditorPane]Selectionner une ligne
    Par )3lade dans le forum Composants
    Réponses: 8
    Dernier message: 20/01/2004, 11h29
  5. [XSLT] Visualisation d'un fichier xml dans un jEditorPane
    Par Yannos94 dans le forum Format d'échange (XML, JSON...)
    Réponses: 16
    Dernier message: 09/01/2004, 18h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo