2009-05-05 7 views
0

Je travaille actuellement sur un écran d'introduction pour un jeu conçu en utilisant JOGL. Je veux que l'intro soit un JPanel avec quelques boutons pour modifier les options avant de commencer la partie. Donc, j'ai JFrame auquel j'ajoute un GLCanvas àRetirer un JPanel d'un JFrame

Le GLCanvas contient également un GLEventListener. Enfin, j'ajoute le JPanel.

J'ai remplacé la méthode JPanel paintComponent pour définir une image d'arrière-plan. J'ai quelques boutons dans le panneau. Chaque fois que vous cliquez sur le bouton 'play', il appelle une fonction qui fait:

frame.remove (JPanel); frame.repaint(); animator.start(); Qu'est-ce qui se passe, c'est que mon JPanel s'en va correctement, mais quand repaint est appelé, mon cadre est juste rempli de gris. Je sais que l'animateur démarre correctement lorsque la méthode d'affichage de mon GLEventListener est appelée.

Est-ce que quelqu'un sait quel est le problème?

+0

Est-ce que votre GLEventListener.display() dessine quelque chose s'il est appelé dans un contexte plus simple? – DJClayworth

Répondre

2

Qu'est-ce que LayoutManager? Si vous n'en avez pas spécifié un, en ajoutant le JPanel vous remplacez le GLCanvas.

Je voudrais que votre code fasse ceci:
frame.remove (JPanel); frame.add (glcanvas); animator.start();
vous devrez peut-être ajouter un frame.revalidate(). Je ne suis pas sur la façon dont tout cela fonctionne maintenant.

Questions connexes