[JAVA] Repaint ne marche pas :(((( [Resolu]

Repaint ne marche pas :(((( [Resolu] [JAVA] - Java - Programmation

Marsh Posté le 21-05-2002 à 15:14:00    

J'ajoute un component dans un container mais celui ci n'apparait pas :  
 
    private void jComboBox3ItemStateChanged(java.awt.event.ItemEvent evt) {
        if (evt.getStateChange()==java.awt.event.ItemEvent.SELECTED) {
            Vector chemin = new Vector();
            chemin.add(jComboBox1.getSelectedItem());
            chemin.add(jComboBox2.getSelectedItem());
            chemin.add(jComboBox3.getSelectedItem());
            if (menu.getNode(chemin).isLeaf() || jComboBox3.getSelectedItem().equals(DEBUT_LISTE)) {
                jComboBox4.removeAllItems();
                jComboBox5.removeAllItems();
                jComboBox6.removeAllItems();
                jComboBox4.setVisible(false);
                jComboBox5.setVisible(false);
                jComboBox6.setVisible(false);
                if (!jComboBox3.getSelectedItem().equals(DEBUT_LISTE)) {
                    jPanelChoix.add(color);
.....
 
sachant que color est une instance de JColorChooser.
 
J'ai essayé la méthode repaint mais c'est sans succes. Par contre à l'excecution du code, si je redimensionne la fenetre le composent color apparait. Apparemment, les repaint ne sont pas pris en compte au sein d'un Event Handler, mais que faire pour le remplacer???
 
Merci

 

[jfdsdjhfuetppo]--Message édité par zizou le 23-05-2002 à 13:06:11--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 21-05-2002 à 15:14:00   

Reply

Marsh Posté le 21-05-2002 à 15:19:31    

T'as essayé un jPanelChoix.validate() après le add(color) ???
J'en suis pas trop sur mais ça peut ptet marcher...

Reply

Marsh Posté le 21-05-2002 à 15:39:52    

Youhou c'est la fete ca marche!!!
 
Merci bien el scorcho.
 
Par contre j'ai pas vraiment capté qd est ce qu'il faut l'utiliser cette fonction??? Qd le layout manager ne peut pas contenir un component il l'affiche pas, et en faisant appel à cette methode on le force a se redimensionner? C'est ca?
 
En tout cas merci car je commencais vraiment a en avoir marre de chercher.

Reply

Marsh Posté le 21-05-2002 à 15:43:25    

Citation :

AWT uses validate to cause a container to lay out its subcomponents again after the components it contains have been added to or modified.


 
voila c comprehensible

Reply

Marsh Posté le 21-05-2002 à 15:49:32    

Bin en fait le validate permet à un composant de valider son layout, c'est à dire de remettre à jour tous ses sous-composants ayant été modifiés ou ajoutés. Donc en gros c'est utile dès que tu ajoutes un composant au moment de l'exécution, par exemple sur le déclenchement d'un évènement particulier.  
Quand tu redimensionnais ta fenêtre le composant apparaissait comme par magie car en fait le redimensionnement oblige ton composant à remettre à jour son contenu = équivalent à appeler validate...
Enfin c'est ça en gros je crois...  :)

Reply

Sujets relatifs:

Leave a Replay

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