Hello,
je suis en train de coder un petit jeu de course en java.
Voila le code un peu simplifié de la classe Fenetre qui permet d'afficher le terrain du jeu :
Code :
- class Fenetre extends JFrame implements KeyListener {
- private JPanel terrain;
- public Fenetre(Terrain t) {
- super("Grand Tourismo !" );
- setSize(300, 300);
-
- terrain = new ATerrain(t);
- getContentPane().add(terrain);
- }
- }
|
Jusque la pas de problème, ça marche.
Mais un terrain sans voiture, c'est nul. Je voulais séparer les deux pour eviter d'avoir à recalculer le terrain à chaque fois. J'ai fais des recherches sur internet et je suis tombé sur les JLayeredPane. J'ai essayé de les utiliser mais sans succès...
Voila le code que j'ai fais :
Code :
- class Fenetre extends JFrame implements KeyListener {
- private JPanel terrain;
- private JPanel voiture;
- public Fenetre(Terrain t, Voiture v) {
- super("Grand Tourismo !" );
- setSize(300, 300);
-
- JLayeredPane layeredPane = new JLayeredPane();
- layeredPane.setPreferredSize(new Dimension(300, 300));
-
- terrain = new ATerrain(t);
- layeredPane.add(terrain, new Integer(1));
-
- voiture = new AVoiture(v);
- layeredPane.add(voiture, new Integer(2));
-
- getContentPane().add(layeredPane);
- }
- }
|
Mais ce code ne marche pas. Il m'affiche une fenêtre de la bonne taille, mais vide
Une idée d'où viens le problème ?
Merci d'avance a ceux qui m'aiderons !
Message édité par gniii2 le 03-05-2008 à 11:04:56