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

AWT/Swing Java Discussion :

[debutant] : rafraichissement de JPanel


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Profil pro
    Responsable test de charge
    Inscrit en
    Février 2006
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable test de charge

    Informations forums :
    Inscription : Février 2006
    Messages : 186
    Points : 103
    Points
    103
    Par défaut [debutant] : rafraichissement de JPanel
    salut,

    j'ai deux fenetres qui se superposent.

    Quand je passe de l'une à l'autre, les informations qui viennent au fil de l'eau et s'affichent ne sont plus disponibles et sont effacées.

    Comment faire pour éviter ce problème.

  2. #2
    Membre averti Avatar de let_me_in
    Inscrit en
    Mai 2005
    Messages
    441
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 441
    Points : 437
    Points
    437
    Par défaut
    j'ai pas bien compris, reexplique stp (pour non Francais!).
    mais d'apres le titre(et du titre seulement), tu peux faire ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonPanel.paintAll(tonPanel.getGraphics());

  3. #3
    Membre régulier
    Profil pro
    Responsable test de charge
    Inscrit en
    Février 2006
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable test de charge

    Informations forums :
    Inscription : Février 2006
    Messages : 186
    Points : 103
    Points
    103
    Par défaut [debutant] : refraichissment de JPanels superposés
    Merci pour la réponse,

    Je vais essyé d'être plus clair.

    J'ai deux fenêtre de type JFrame qui s'ouvrent, l'une étant derrière l'autre.

    Quand je déplace celle qui est situé devant de manière à pouvoir visualiser celle de derrière, les informations situé sur celle-ci s'éffacent partielement.


    Ce que je voulais c'est savoir comment réafficher les informations qui ont été perdu.

    On m'a parlé de double buffer présent dans la classe Swing mais je vais essayé ta méthode avec :

    tonPanel.paintAll(tonPanel.getGraphics());

    Merci

  4. #4
    Membre régulier
    Profil pro
    Responsable test de charge
    Inscrit en
    Février 2006
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable test de charge

    Informations forums :
    Inscription : Février 2006
    Messages : 186
    Points : 103
    Points
    103
    Par défaut [debutant]: probleme de rafraichissement d'écran
    Bonjour,

    J'ai essayé la commande précedente de différente manière mais sans succès.
    En effet, je ne redessine

    On m'a parlé d'une copie du buffer disponible sur la classe swing.

    Peut-être que je pourrait récupérer les informations afficher précédemment et rafraichir mon JPanel.

    Je voudrais savoir svp si cela existe réellement?
    Et si cela existe comment récupérer mes informations?

  5. #5
    Membre éclairé Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Points : 680
    Points
    680
    Par défaut
    Essaie (pas testé) de mettre en effet le double buffering, j'avais aussi vu quelque chose là-dessus et c'est bien pour le cas dans lequel tu es. Seulement pour l'implémentation je ne suis pas sûr.

    A la création de ta frame crée d'abord une Window et ensuite mets-lui 2 buffer

    En espérant que ca peut t'aider...

  6. #6
    Membre régulier
    Profil pro
    Responsable test de charge
    Inscrit en
    Février 2006
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable test de charge

    Informations forums :
    Inscription : Février 2006
    Messages : 186
    Points : 103
    Points
    103
    Par défaut
    j'ai vu le lien que tu ma transmit mais je voi pa du tout comment l'implementer dans mon code

    si je compren bien je dois créer une copie de mon buffer à l'aide de la methode createbufferstrategy puis l'appeler dans le paintComponent et recrée un buffer et ceci devrai réafficher tout ce qui aurai du etre visible?

  7. #7
    Membre éclairé Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Points : 680
    Points
    680
    Par défaut
    Non ca je suis sur que non..

    Moi j'aurais fait comme ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    JFrame jf = new JFrame();
    JWindow win = new JWindow(jf);
    win.createBufferStrategy(2);
     
    //ajout de tes composants dans jf
     
    jf.setVisible(true);
    jf.validate();

  8. #8
    Membre régulier
    Profil pro
    Responsable test de charge
    Inscrit en
    Février 2006
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable test de charge

    Informations forums :
    Inscription : Février 2006
    Messages : 186
    Points : 103
    Points
    103
    Par défaut
    merci,
    la d'après tes explications, je dispose d'une copie du buffer ( win )mais qu'est ce que je peut en faire pour régler le probléme de réafichage.

    Rappel : j'ai trois mois de JAVA dans les jambes et elles sont pas très musclées.

    A quoi sert validate

  9. #9
    Membre éclairé Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Points : 680
    Points
    680
    Par défaut
    Citation Envoyé par sam.fet
    merci,
    la d'après tes explications, je dispose d'une copie du buffer ( win )mais qu'est ce que je peut en faire pour régler le probléme de réafichage.
    Non la méthode ne te retourne pas une copie du Buffer mais "configure" ta fenêtre. Cela veut dire que 2 Buffers lui sont associés... Mais je ne suis pas sûr que cela fonctionne réellement! (t'as pu tester?). Une fois que le double buffering est activé tu n'as besoin de réactualiser l'affichage à mon avis ca devrait se faire tout seul... Au cas où tu peux utiliser la méthode isDoubleBuffered() pour savoir si la fenêtre a bien 2 buffer.

    Sinon pour le validate tu peux voir la doc Java

    En passant tu pourrais aussi aller voir les tutoriaux de Sun comme How to Make Frame


  10. #10
    Membre régulier
    Profil pro
    Responsable test de charge
    Inscrit en
    Février 2006
    Messages
    186
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable test de charge

    Informations forums :
    Inscription : Février 2006
    Messages : 186
    Points : 103
    Points
    103
    Par défaut
    j'ai ete lire la faq et j'ai vu l'histoire du double buffer et j'ai quelque question pour l'implementer

    je cree un Graphics buffer

    puis la fonction paint et une redéfinission de methode ou une methode qu'on crée comme dessineVoiture par exemple

    puis on fait appel a repaint() mais on a pas le code du paintComponent qu'est qui est censé y avoire dedans rien ou l'affichage du buffer et dans ce cas comment faire ?

    mais sinon si j'ai bien compris je doi tout dessiner dans le buffer et dans le g que j'obtien avec getGraphics? oui / non

    merci vraiment pour l'aide car c'est vraiment pas evident a faire fonctionner et j'espere y arriver

  11. #11
    Membre éclairé Avatar de Pollux
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    706
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2005
    Messages : 706
    Points : 680
    Points
    680
    Par défaut
    Tu peux aller voir ce topic...

    Le 2ème post est sûrement très instructif pour toi

Discussions similaires

  1. [Débutant]repaint un JPanel
    Par Tex-Twil dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 17/08/2007, 00h02
  2. [Debutant] rafraichissement d'une page mere!
    Par lahlousimo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/03/2007, 23h42
  3. [debutant]rafraichissement de projet
    Par dark2 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 21/02/2007, 15h12
  4. [Debutant]Probleme dimensionnement JPanel dans CardLayout
    Par etiennegaloup dans le forum Agents de placement/Fenêtres
    Réponses: 9
    Dernier message: 22/12/2005, 19h08
  5. [DEBUTANT] Affichage de jpanel
    Par cosmos38240 dans le forum Agents de placement/Fenêtres
    Réponses: 12
    Dernier message: 25/05/2004, 00h48

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