minimouk
Messages postés7Date d'inscriptionsamedi 1 mai 2004StatutMembreDernière intervention22 mai 2004
-
1 mai 2004 à 16:08
dmaillet
Messages postés500Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention11 juillet 2007
-
3 mai 2004 à 16:19
Salut a tous.
Bon j'explique.
J'ai pour projet de faire un jeux. J'ai donc envie de cree un menu dans une Applet qui fait apparaitre des JPanel au dessus du menu.
Vous comprenez?
bon mon probleme c que je n'arrive pas a faire fonctioner tout les elements du menu. seul le dernier ajouté fonctione
(enfin si on enleve les lignes de commentaires)
ici getContentPane().add(credits = new CreditsPanel());
La classe menu affiche un tableau avec des choses dedans
et quand on clique sur les case du tableau il renvoi qu'elle case a ete cliker.
Menu menu = new Menu( getWidth()/2 , getHeight()/2-20 , 5 , new Color(0,255,0) , new Color(0,255,0) , 120 , 40 );
menu.Ajouter(menuListe , new Font("Helvetica",Font.PLAIN,20));
menu.dessiner(g);
int tmp=menu.choix(choix,g);
g.setColor(new Color(0,255,0));
switch(tmp)
{
case 0 : g.drawString("Jouer",50,50);
jeux.setVisible(true);
jeux.init();
jeux.start();
break;
case 1 : g.drawString("Stat",50,50) ;break;
case 2 : g.drawString("Opt",50,50) ;break;
case 3 : g.drawString("Cred",50,50) ;
// credits.setVisible(true);
// credits.init();
// credits.start();
break;
case 4 : System.exit(0);
break;
default : break;
}
}
}
-------------------------------------------
FIN
-------------------------------------------
dmaillet
Messages postés500Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention11 juillet 2007 3 mai 2004 à 09:15
tu n'as pas mis de layout dans ton getContentPane(),
donc pas defaut c'est du FlowLayout...
et si tu ne passe pas de parametres, genre
getContentPane().add(credits = new CreditsPanel(),null);
il te remplace automatiquement l'avant dernier par le dernier...
donc soit tugardes ce flowlayout, et tu lui passe null en parametres comme ci dessus, soit tu specifie un autre layout avec d'autres params...
dmaillet
Messages postés500Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention11 juillet 2007 3 mai 2004 à 09:55
Attends, ton pb c'est pour les japanels ou le menu?
J'suis pas sur de bien comprendre ton souci la...
C'est ca qui merde
menu.Ajouter(menuListe , new Font("Helvetica",Font.PLAIN,20));
ou
getContentPane().add(credits = new CreditsPanel());
faut que tu m'explique pourquoi tu fauire un paint de ton menu aussi dans la methode paint...
minimouk
Messages postés7Date d'inscriptionsamedi 1 mai 2004StatutMembreDernière intervention22 mai 2004 3 mai 2004 à 10:01
non c getContentPane().add(credits = new CreditsPanel());
qui merde
le menu marche tres bien
mais en fait le truc qui deconne c que le
jeux.setVisible(true);
ne mache pas (s'affiche pas) quand jeg met
getContentPane().add(credits = new CreditsPanel());
apres le
getContentPane().add(jeux = new CasseBriquePanel());
seul le
credits.setVisible(true);
marche
tu comprend?
Vous n’avez pas trouvé la réponse que vous recherchez ?
dmaillet
Messages postés500Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention11 juillet 2007 3 mai 2004 à 11:41
ok, c'est donc ce qyue je te disais un pb de layout...
essai de faire avant d'ajouter tes panels
getContentPane().setLayout(new GridLayout(1,2));
et tu vas voir...
enfin enleves les bon commentaires aussi...
minimouk
Messages postés7Date d'inscriptionsamedi 1 mai 2004StatutMembreDernière intervention22 mai 2004 3 mai 2004 à 12:18
arf c pas encore ca.
quand je clique sur le menu le panel ne ce chqrge que sur la moitie de la fenetre. j'ai essaye avec differente valeur mais rien a faire.
dmaillet
Messages postés500Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention11 juillet 2007 3 mai 2004 à 14:00
le FlowLayout de base doit marcher...
tu es sur que tu a bien essaye, en laissant le flowlayout de base, de mettre en parametre null?
getContentPane().add(credits = new CreditsPanel(),null);
car ca ca doit marcher...
tu peux essayer de faire un revalidate() de ton panel general...
c'est l'arme ultime quand ca veux pas s'afficher...
dmaillet
Messages postés500Date d'inscriptionmercredi 20 août 2003StatutMembreDernière intervention11 juillet 2007 3 mai 2004 à 16:19
euh juste une chose que je viens de voir...
je ne suis pas un pro du graphisme 2D
moi c'est plutot le java3d
mais je crois qu'en fesant tes setVisble dans le paint(),
ca risque pas de marcher...
en effet au moment du paint, pour lui c'est pas visble, donc il l'affiche pas....
a mon avis, fais le setVisible en dehors puis un repiant ou revalidate, et la ca va marcher...
en plus tu devrais faire un super.paint(g); au depart, ce serait mieux...