[JAVA] repaint marche pas!!

repaint marche pas!! [JAVA] - Java - Programmation

Marsh Posté le 24-09-2002 à 19:32:01    

Salut,
 
voila j'ai un probleme avec une applet que je fais sous forte
 
au depart j'ai 2 boutons, quand je click sur l'un d'eux un deuxieme panel doit apparaitre avec 2 autres boutons
 
j'ai fait dans le action performed : mondeuxiemepanel.setVisible(true)
 
puis je fais repaint() et ca fais rien, sous quand je redimenssionne la fenetre ca affiche bien le truc,
 
j'ai fait un recherche pour voir si qqun n'a pas eu le meme prob que moi et je suis tombe sur ceci : http://forum.hardware.fr/forum2.ph [...] h=&subcat=
 
EXACTEMENT la meme chose que moi, donc je vois la reponse (mondeuxiemepanel.validate()), alors tout content, je fais ce qui est mis, et ca marche toujours pas :(
 
qqun peut il m'aider?
 
merci

Reply

Marsh Posté le 24-09-2002 à 19:32:01   

Reply

Marsh Posté le 24-09-2002 à 22:04:35    

Un bout de code, si possible??
Tu es sûr que ton deuxième panel a été ajouté au layout de la fenêtre (ou de l'applet) principale??

Reply

Marsh Posté le 25-09-2002 à 15:19:02    

voila la fonction a probleme :
 
 
private void bEnterActionPerformed(ActionEvent evt)  
    {
        if(Identify(tfNom.getText(), tfPassword.getText()) == true)
        {
            //-- DEBUG
            System.out.println(tfNom.getText() + " est accepté avec le mot de passe "  
                    + tfPassword.getText());
            //-- Init choice NomArticle with vector NomArticle
            InitChoice(chNomArticle, VecNomArticle);
            pSecondaire.setVisible(true);
            //-- To make effective visual change
            pSecondaire.validate(); // marche pas meme avec ca
            repaint();
        }
        else
        {
            pSecondaire.setVisible(false);
            //-- To make effective visual change
            repaint();
        }
    }


Message édité par Slash- le 25-09-2002 à 15:19:18
Reply

Marsh Posté le 25-09-2002 à 17:12:11    

Et est-ce que à un endroit quelconque, tu as un add(pSecondaire)???  
Parce que si non, c'est normal, que ça marche pas!
 
Mais sinon, tu dis que quand tu bouges la fenêtre, ton compsant apparaît??
 
Si oui, essaie de remplacer :  
pSecondaire.validate();
par  
this.validate();
 
La Javadoc de validate() dit :  
 

Code :
  1. Validates this container and all of its subcomponents.
  2. AWT uses validate to cause a container to lay out its subcomponents again after the components it contains have been added to or modified.

 
 
donc, si tu rend qqchose visible dans la fenêtre courante, c'est ELLE qu'il faut revalider, et pas le composant!
 
Ouala.

Reply

Marsh Posté le 25-09-2002 à 17:25:53    

oui ca marche, il fallait revalider toute la fenetre!
 
merci beaucoup

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed