2010-08-14 1 views
2

Je crée une applet Java et j'essaie d'y ajouter une JFrame. J'appelle:JFrame ne s'affiche pas dans JApplet tant que l'applet n'est pas redimensionnée

add(new MyJFrameSubclass()); 

Mais quand je lance l'application, mon JFrame n'apparaît pas jusqu'à ce que je redimensionnez la fenêtre.

+0

Êtes-vous en train de créer une applet à intégrer dans une page Web? Ou essayez-vous de créer une application autonome? – jjnguy

+0

J'essaye de créer une application qui fonctionne comme les deux - ainsi vous pouvez exécuter le pot localement, ou l'employer comme applet. –

Répondre

1

JFrame et JApplet sont tous les deux top-level containers. Au lieu d'essayer d'avoir les deux conteneurs présents à la fois, placez votre contenu dans un conteneur léger tel que JPanel; ajoutez ensuite JPanel à JFrame (pour un usage local) ou JApplet (pour le navigateur). Ce example montre l'approche.

+0

J'ai aussi essayé un JPanel mais je vais regarder votre exemple, merci. –

+0

Voir aussi [* Qu'est-ce que Java Hybrid-Applet + Application? *] (Http://stackoverflow.com/q/12449889/230513). – trashgod

2

Cela peut être trop élémentaire d'une suggestion, mais coller dans un validate() ou repaint() peut parfois résoudre des problèmes qui semblent compliqués.

2

Une solution simple est d'ajouter un frame.show(); après avoir ajouté votre JFrame, j'ai eu le même problème et cela a semblé aider, le cadre étant le nom de votre JFrame.

Questions connexes