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

Agents de placement/Fenêtres Java Discussion :

[JFrame] Problème affichage


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Par défaut [JFrame] Problème affichage
    Bonjour à tous!
    J'ai un petit souci avec une JFrame. Celle-ci contient un Jpanel, qui contient lui, un JButton.
    Je voudrais lorque que l'on clique sur ce JButton afficher dans ma JFrame un autre Jpanel à la place de celui deja affiché.
    Voici mon 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
    36
    37
    38
    39
    40
     
    class maFenetre extends JFrame implements ActionListener{
     
    	JPanel panneau1 = new JPanel();
            JPanel panneau2 = new JPanel();
            JButton bouton = new JButton();
     
            public maFenetre(){ 
                    this.setSize(400,250); 
    		this.setResizable(false) ; 
    		this.setContentPane(getPanneau1());
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
            }
     
            public JPanel getPanneau1(){
      		layout.setAlignment(FlowLayout.CENTER);
      		panneau1.setLayout(layout);	
      		bouton.addActionListener(this) ;
       		panneau1.add(bouton);
       		return panneau1;	
     	}
     
            public JPanel getPanneau2(){
      		...
       		return panneau2;	
     	}
     
    	public void actionPerformed(ActionEvent e) {
    		if(e.getSource() == buton){
                           ...
                           this.setContentPane(getPanneau2());
                           this.repaint();
                    }
            }
     
    	public static void main(String[] args){
    		maFenetre gui = new maFenetre();
    		gui.setVisible(true);
    	}
    }
    Le programme se compile sans problème mais lorsque je clique sur le bouton l'affichage ne change pas! Je ne sais pas si mon code est correct...
    Merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	public void actionPerformed(ActionEvent e) {
    	//faute de frappe j'espere!-------v
                           if(e.getSource() == buton){
                           ...
                           this.setContentPane(getPanneau2());
                           this.repaint();
                //moi j'utiliserais :
                           getContentPane().add(getPanneau2());
                           setVisible(true);
     
                    }
    sinon je ne vois pas mais utilise la fonction debug de ton editeur c'est utile!

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Par défaut
    Merci à toi iutcien!!!
    Ca marche deja mieux! Par contre le panneau1 reste affiché. Est-ce qu'il existe une fonction pour l'enlever? Car il faut qu'il y est juste le panneau2 dans ma frame.

  4. #4
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getContentPane().remove(panneau1);

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 109
    Par défaut
    J'ai testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getContentPane().remove(panneau1);
    mais ça ne change rien. Je ne vois vraiment pas ce qui cloche!

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Par défaut
    bon allez pour t'aider:
    Le piege c'est que tu dois rappelé getPanneau1 qui te créé un nouveau panneau au lieu de te renvoyé celui deja créé! c'est la seul erreur possible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
                  private panneau1;
                  //plus loin dans le constructeur:
                  panneau1=getPanneau1();
                 //et enfin
    	public void actionPerformed(ActionEvent e) {
     
                           if(e.getSource() == button){
                           getContentPane().remove(panneau1); 
                           getContentPane().add(getPanneau2());
                           setVisible(true);
     
                    }
    voila!

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

Discussions similaires

  1. Problème affichage JPanel dans JFrame
    Par Papipen dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 18/06/2009, 21h45
  2. Réponses: 10
    Dernier message: 08/06/2009, 12h30
  3. Problème affichage primitive
    Par goutbouyo dans le forum DirectX
    Réponses: 4
    Dernier message: 29/12/2004, 19h25
  4. [Plugin][VE] Problème affichage
    Par sebb84 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 05/07/2004, 15h50
  5. [DOS] Problème affichage de DOS dans un Memo
    Par Pedro dans le forum API, COM et SDKs
    Réponses: 9
    Dernier message: 25/06/2004, 14h31

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