Je dois implementer un jeu. je vien de développer le jeu ne mode texte et j'aimerais désormais l'implementer en quelque chose de plus graphiqie. :oui:
Toutefois,je me trouve confronté à un problème assez gênant. Je n'arrive pas à mettre en place une fenêtre graphique composée de menus, etc, tout en conservant l'écouteur clavier.
A la compilation cela ne pose aucun problème mais dès que j'ajoute un JMenuBar sur ma JFrame le KeyListener ne fonctionne plus...
Après avoir essayer pas mal de choses, j'aimerais bien un petit coup de main car disons que ça commence à me chauffer les oreilles
Voici la partie du code concerné:
Je dois sûrement pas placer mon écouteur clavier comme il le faudrait mais je ne vois pas comment faire autrement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Plateau extends JFrame implements PlateauI,ActionListener,KeyListener{ private JButton quitter; private JButton pause; private JPanel fenetre; private Component composant; public Plateau(int tailleMatrice){ setTitle("Bomberman"); setSize(new Dimension(800,600)); setBackground(Color.white); setJMenuBar(creerMenu()); getContentPane().add(creerFenetre(),BorderLayout.CENTER); //On ajoute les composants getContentPane().addKeyListener(this); setVisible(true); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); //composant= creerFenetre(); } public JMenuBar creerMenu(){ JMenuBar menu = new JMenuBar(); //Creation de la barre de menu JButton pause = new JButton("Pause"); // Creation du bouton pour mettre le jeu en pause pause.addActionListener(this); quitter = new JButton("Quitter"); // Creation du bouton pour quitter le jeu quitter.addActionListener(this); menu.setLayout(new FlowLayout()); menu.add(pause); //Ajout des elements sur le Layout menu.add(quitter); //fenetre.add(menu,BorderLayout.NORTH); // Ajout du menu en haut //fenetre.add(dessin,BorderLayout.CENTER); // Ajout de la zone de dessin au centre return menu; } public Component creerFenetre(){ fenetre = new JPanel(); //Creation de la fenetre principale return fenetre; }
Merci d'avance pour vos réponses
[Modéré par Didier]
Modif du tag dans le titre (ancien Java)
Lire les règles du forum : Règles du forum Java
Partager