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 :

Rafraichir une applet swing


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de etranger
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 333
    Par défaut Rafraichir une applet swing
    Salut,

    j'ai un petit problem avec une applet que je doit finir assez vite, cette applet est censé fonctioner comme un wizard (login-->waitScreen --> ...).

    Pour cela je suis dit de faire l'applet géneralle est le chaque étape du wizard dans un JPanel. Je les ajoutes tous dans le content panel principal et setVisible(false) les jpanels qui ne sont pas sensé être affiché, un appel this.getContentPane().validate() + un repaint() et sa devrait fonctioner.

    Parfois sa fonctione d'un l'applet viewer, parfois non. la même chose dans IE et sous fireFox sa fonctione presque jamais.

    J'ai essayé une autre methode :
    j'affiche le premier panel, lorsque je veut passer au suivant, je le setVisible(false), je fais un this.getContentPane().removeAll(), puis je add() le deuxiéme jpanel, un valivate et une repaint. Mais sa ne marche toujours pas, le deuxiéme jpanel ne s'affiche pas.

    extrait du code :
    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
    public class monApplet extends JApplet implements ActionListener{
     
    public void init(){
            initGui();
        }
     
     private void initGui(){
            //this.getContentPane().add(frm_wait);
           // frm_wait.setVisible(false);
            //this.getContentPane().setLayout(new FlowLayout());
            this.getContentPane().add(frm_login);
            frm_login.setVisible(true);
        }
    public void actionPerformed(ActionEvent e){
            if(e.getSource()== frm_login.btn_Continue){
                if(switchToConnecting()){
                    ....  
                }
            }
        }
     
    private boolean switchToConnecting(){
     
                frm_login.setVisible(false);
                this.getContentPane().removeAll();
                this.getContentPane().add(frm_wait);
                frm_wait.setVisible(true);
                this.getContentPane().validate();
                repaint();
            return true;
     
     
        }
     
    }
    merci

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Mets tous tes panels dans un CardLayout et que tu montres celui que tu veux.
    How to use CardLayout

  3. #3
    Membre éclairé Avatar de etranger
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 333
    Par défaut
    Merci, sa fonctione parfaitement.

    Le seul probléme que j'ai c'est de forcer FireFox à reprendre la dernière version de l'applet, avec IE un CRTL+F5 suffit. Sauriez vous comment le faire sous firefox ?

    merci

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    tu vides le cache (ctrl+maj+suppr et supprimer les éléments du cache)

  5. #5
    Membre éclairé Avatar de etranger
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    333
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 333
    Par défaut
    J'ai déja essayé, mais non sa ne marche pas.

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Redémarrer firefox + vider le cache...
    Enfin quio qu'il en soit ce n'est pas un problème java.

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

Discussions similaires

  1. rafraichir graphique dans une interface swing
    Par mouss4rs dans le forum 2D
    Réponses: 4
    Dernier message: 06/06/2008, 14h51
  2. [FengGUI][Swing] Conseils pour le GUI d'une applet
    Par Malkavien dans le forum Graphisme
    Réponses: 1
    Dernier message: 31/05/2007, 17h37
  3. [Applet]Redimensionner une applet
    Par muad'dib dans le forum Applets
    Réponses: 2
    Dernier message: 22/04/2004, 12h42
  4. [API] Rafraichir une fenetre ?
    Par laurent_h dans le forum Windows
    Réponses: 2
    Dernier message: 17/04/2004, 23h26
  5. [WSAD] Composition visuelle d'une applet
    Par schum11 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/04/2003, 16h19

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