Probleme de menu avec des JPanel

Probleme de menu avec des JPanel - Java - Programmation

Marsh Posté le 03-05-2004 à 12:31:30    

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? Et bien sur j'aimerais ne plus avoir acces au menu.
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. (fct choix) //la classe menu marche tres bien.
 
Pourriez vous m'aidesiou plait???
Merci
 
a lire aussi :  
http://www.javafr.com/forum.v2.aspx?ID=221082
-----------------------------------------
CODE
-----------------------------------------
 
public class LanceurApplet extends JApplet implements /*ActionListener,*/ MouseListener
{
private CasseBriquePanel jeux;
private CreditsPanel credits;
private Point choix =new Point(0,0);
private static Image[] images;
private URL base;
 
 
public void init()
{
System.out.println("initialisation" );
addMouseListener(this);
setSize(getWidth(),getHeight());
getContentPane().add(jeux = new CasseBriquePanel());
jeux.setVisible(false);
// getContentPane().add(credits = new CreditsPanel());
// credits.setVisible(false);
setBackground(Color.black);
try
{
base = getDocumentBase();
}
catch (Exception e) {}
setPicts();
}
 
private void setPicts()
{
int nbImages=2;
String[] list = {"Brikoid.jpg.jpg","mini.jpg"};
images = new Image[nbImages];
for (int i=0 ; i<nbImages ; i++)
images[i]=getImage(base,list[i]);
}
 
public static Image getPict(int i)
{
return images[i];
}
 
 
public void mouseEntered (MouseEvent e) {}
public void mouseExited (MouseEvent e) {}
public void mousePressed (MouseEvent e){}
public void mouseReleased (MouseEvent e) {}
public void mouseClicked (MouseEvent e)
{
choix = e.getPoint();
System.out.println("Position:"+e.getX()+","+e.getY());
repaint();
}
 
 
public void paint(Graphics g)
{
String[] menuListe = {"Jouer","Statistiques","Options","Credits","Quitter"};
g.clearRect(0, 0, getWidth(), getHeight());
g.drawImage(getImage(base,"Brikoid.jpg" ),0,0,getWidth(),getHeight(),this);
 
 
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
-------------------------------------------


---------------
  ____
Reply

Marsh Posté le 03-05-2004 à 12:31:30   

Reply

Marsh Posté le 03-05-2004 à 13:09:32    

cpp /cpp

Reply

Marsh Posté le 03-05-2004 à 14:18:56    

OMG!!!!
 
Ajoute ton Menu à ton applet, pas au JPanel!
Va voir setJMenuBar dans Applet
 
Là tu vas te faire chier pour catcher les évènements!
 
Et mets des balises [cpp] [/cpp ] c'est illisible..


Message édité par seabee le 03-05-2004 à 14:20:18
Reply

Marsh Posté le 03-05-2004 à 15:48:08    

arf j ecrois que tu n'as pas tres bien compris.
je n'utilise pas de JMenu  
>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. (fct choix) //la classe menu >marche tres bien.  
 
Le probleme c que je voudrais que

Reply

Marsh Posté le 03-05-2004 à 15:52:11    

quand je met  
jpanel.setVisible(true);  
il m'affiche le jpanel par dessu le menu (de l'applet)
seulement si je decommente ces lignes
 
// getContentPane().add(credits = new CreditsPanel());  
// credits.setVisible(false);  
 
seul le credits va pouvoir s'afficher au dessus du menu. Mais moi j'aimerais bien que ca marche pour les autres elements du menu cad jeux...

Reply

Marsh Posté le 03-05-2004 à 15:53:25    

bien sur il faut aussi decommenter ces lignes aussi
// credits.setVisible(true);  
// credits.init();  
// credits.start();  
 
j'aimerais savoir comment regler ce probleme de Layout si il s'agit bien de cela.

Reply

Marsh Posté le 04-05-2004 à 09:42:30    

up  pls


---------------
  ____
Reply

Sujets relatifs:

Leave a Replay

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