Mon fond cache mes bouton qui s'affcihe bizarement
niko29940242
Messages postés112Date d'inscriptionsamedi 13 décembre 2003StatutMembreDernière intervention 7 novembre 2004
-
13 oct. 2004 à 12:40
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 2012
-
16 oct. 2004 à 08:21
bonjour a tous
je crois que j'aurai du poster dans la categorie "au secours" mais tan pi
mon pb c'est que une classe extends Jframe qui a une image de fond. Ensuite l'utilisateur doit choisir une option grace a JMenu. cette option doit faire apparaitre un bouton que je place de la maniere suivante : Bouton.setBounds(10,10,20,20) par ex! mais il n'apparait pas et il est toujour caché par l'image de fond , de plus sataille et sa position ne sont pas du tout celle ke je desire
voila une partie de mon code :
--------------------------------------
mon actionPerfomed :
public void actionPerformed(ActionEvent evt)
{
if (evt.getSource()instanceof JMenuItem)
{
String ChoixOption = evt.getActionCommand();
if (ChoixOption.equals("1 joueur"))
{
UnJoueur un_joueur = new UnJoueur();
getContentPane().add((un_joueur));
}
}
}
***********************************
ma classe UnJoueur qui est apelé et qui devrait fauire afficher un JButton:
public class UnJoueur extends JPanel implements KeyListener
{
JButton Bouton;
public UnJoueur()
{
Bouton = new JButton("");
Bouton.setBounds(20,20,50,50);
Bouton.addKeyListener(this);
add(Bouton);
}
public void keyReleased(KeyEvent e) {} // rien a faire}
public void keyTyped(KeyEvent e){} // rien a faire}
public void keyPressed(KeyEvent evt)
{
if (evt.getKeyCode() == KeyEvent.VK_NUMPAD1)
Bouton.setBackground (Color.yellow);
}
}
********************************************
si kelkun pouvait me dire pkoi ca ne s'affiche pas pardessus l'image de fond et pkoi il ne semet pas a l'emplacement indiqué je lui en serai infiniment reconnaissant lol thx all
A voir également:
Mon fond cache mes bouton qui s'affcihe bizarement
toffe12
Messages postés53Date d'inscriptionvendredi 12 septembre 2003StatutMembreDernière intervention23 septembre 20051 13 oct. 2004 à 14:01
salut,
pour l'image de fond il faut dans le paint d'abord dessiner l'image puis faire appel au super, comme cela tu dessine d'abord l'image puis tes boutons.
Pour le reste je ne sais pas trop j'utilise des gridbagconstrain
A+
cs_GodConan
Messages postés2113Date d'inscriptionsamedi 8 novembre 2003StatutContributeurDernière intervention 6 octobre 201212 13 oct. 2004 à 18:18
GodConan :clown)
le morceau de code que tu fourni ne ser a rien pour resoudre ton problem qui reside putot dans ta facon d afficher l image ..
et toffe12 a surment raison ;o)
public class Morpion extends JFrame implements ActionListener
{
JPanel pane = new JPanel ();
JMenuBar menubar;
JMenu menu2;
int nb_joueur;
JButton j1 = new JButton("joueur 1");
//**********************************************************
public Morpion()
{
setTitle("Morpion");
// demande de confirmation au cas ou on quitte le jeu
//ExitWindow exit = new ExitWindow ();
//addWindowListener(exit);
// utilisation d'un toolkit pour l'affichage
// d'une icone associée à la fenêtre
Toolkit tk = Toolkit.getDefaultToolkit();
Image JFrameIcon = tk.getImage("morpion.jpg");
setIconImage(JFrameIcon);
setBounds(300,200,550,500);
// ajout de l'image du morpion en fond
DessinPlato image = new DessinPlato ();
getContentPane().add((image));
// Ajout d'une barre de menus à la fenêtre
menubar = new JMenuBar();
// ajout de la fonction "Option" et"fond d'ecran" dans la barre du menu
menu2 = new JMenu("Options");
// creation des fonction "1 joueur", "2 joueur" ...
JMenuItem menu21 = new JMenuItem("1 joueur");
JMenuItem menu22 = new JMenuItem("2 joueurs");
// installation d'un écouteur d'action sur la fonction "1 joueur" et"2 joueur"
menu21.addActionListener(this);
menu22.addActionListener(this);
// ajout des fct "1 joueur", "2 joueurs" au menu player
menu2.add(menu21);
menu2.add(menu22);
// ajout des menus "Options" à la barre de menus
menubar.add(menu2);
// ajout du menu a la fenetre
setJMenuBar(menubar);
// setContentPane(panel); // j'enleve cette ligne de code qui empeche
//l'affichage de l'image de fond
public void actionPerformed(ActionEvent evt)
{
if (evt.getSource()instanceof JMenuItem)
{
String ChoixOption = evt.getActionCommand();
if (ChoixOption.equals("1 joueur"))
{
UnJoueur un_joueur = new UnJoueur();
getContentPane().add((un_joueur)); }
}
}
//***************************************************
public static void main(String[] args)
{
Morpion mp = new Morpion();
}
//***********************************************
}
////////////////////////////////////////////////////////////////////
la classe qui affiche l'image de fond
--------------------------------------------
g.drawImage( morpion2, 0, 0,550,500, this );
super.paint( g );
}
}
voila ya tout mon code en ajoutant la methode du precedent message, est ce ke tu peu me dire pkoi je ne peux pas afficher un JButton correstement ?
merci pour ton aide
niko29940242
Messages postés112Date d'inscriptionsamedi 13 décembre 2003StatutMembreDernière intervention 7 novembre 2004 14 oct. 2004 à 13:42
bah lol maintenant c autre ki va pas
je fe afficher un JBUtton et mon image de fond en meme temps kan un utilisateur clike sur une option du menu
alors tou aparait seulement si on agandi la fenetre parce ke sinon rien ne s'affiche
est ce ke tu sais pkoi ?
*********************
et voila les ligne de code que je me sers pour apeler la methode
J1
***********************
if (ChoixOption.equals("1 joueur"))
{
J1 un_joueur = new J1 ();
getContentPane().add(un_joueur);
}
*************************
vraiment la je c plus koi faire
ca bug a tout les coup
ca affiche les boutons J1 et cpu seulement si on agrandi la fenetre
et en plus le JButton cpu arete plus de clignoter si on clike dessus
si ta une idée, nimporte laquelle surtout n'hesite pas =]
thx
niko29940242
Messages postés112Date d'inscriptionsamedi 13 décembre 2003StatutMembreDernière intervention 7 novembre 2004 15 oct. 2004 à 22:12
merci pour toutes ces petites precision je men souviendrai
mais la le probleme esttoujour present : les bouton ne sont pas placé ou je veux, etil apparaissen seulement si j'agrandi la fenetre.....bizarre!!!
je te remercie de me filer un coup de main !