2010-11-23 24 views
1

J'ai un JFrame Gridlayout avec des composants comme des boutons, JTextfields, JLabels.Composants ne s'affichant pas sur JFrame de temps en temps

Parfois, lorsque j'exécute le fichier, je vois un cadre vide. Je dois donc maximiser l'écran, les composants reviennent. et quand je reviens à la fenêtre normale, les composants sont encore visibles. Parfois, lorsque j'exécute le fichier, je vois les composants immédiatement.

Comme ils devraient être.

Quelqu'un peut-il expliquer ce phénomène?

Répondre

1

On dirait que les articles ne sont pas peints ou repeints au bon moment. Assurez-vous de ne pas rendre le cadre visible d'abord, puis d'ajouter des composants, ou si vous vous assurez de revalider() ou de repeindre() après avoir apporté des modifications à quelque chose que vous avez déjà rendu visible.

+0

merci. C'était exactement le problème. Je le mettais en évidence avant d'ajouter les composants. Après l'avoir rendu visible après avoir ajouté les composants, je n'ai plus ce "phénomène". merci encore – razshan

+2

Vérifiez également que vous créez TOUS les composants Swing sur le thread de répartition des événements et que vous mettez à jour leur état sur l'EDT. Même la création de composants doit être effectuée sur l'EDT. –