En fait, la méthode
setGame() je comptais l'utiliser afin de changer le setContentPane via mon menu mais je ne sais pas si c'est la bonne solution..
Merci beaucoup pour l'explication Statique / non-Statique.
je pense faire dans ma classe
Fenetre()
1 2 3 4 5
|
public void setGame( Panneau map )
{
this.setContentPane(map);
} |
et dans la classe
Menu()
1 2 3 4 5 6 7
|
item1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
Fenetre fenetre1 = new Fenetre();
fenetre1.setGame(map1);
}
}); |
Merci beaucoup pour la réponse apportée..c'est vraiment très simpa je commencais à m'embrouiller avec toutes ces classes et je ne sais jamais où déclarer chaque objet tout devient fouilli..
cependant un grand dilemne persiste..
l'objet monMenu est créé dans la classe Fenetre et je pense que le compilateur ne va pas aimer si je déclare fenetre1 dans le dit Menu.
Fenetre.java
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
|
import javax.swing.*;
public class Fenetre extends JFrame {
private Menu monMenu = new Menu();
private Panneau acceuil = new Panneau();
private Carte laCarte = new Carte();
// GESTION DES DEPLACEMENTS (COUPLE AVEC LA GESTION DES EVENEMENTS CLAVIER) :
private Deplacement unDeplacement = new Deplacement(laCarte);
private GestionnaireEvenements gEvenement = new GestionnaireEvenements(unDeplacement);
public static int NB_TROUVE = 0;
// POSITION ET DIMENSION DE LA FENETRE :
public static final int POSITION_FENETRE_X = 400;
public static final int POSITION_FENETRE_Y = 300;
public static final int TAILLE_FENETRE_X = Carte.P_LARGEUR+9;
public static final int TAILLE_FENETRE_Y = Carte.P_HAUTEUR+58;
// TITRE DE LA FENETRE :
public static final String TITRE = "SoKoBan";
public Fenetre ()
{
// Definition générale de la fenetre :
this.setTitle(TITRE);
this.setSize(TAILLE_FENETRE_X, TAILLE_FENETRE_Y);
this.setLocation(POSITION_FENETRE_X,POSITION_FENETRE_Y);
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
// Mise en place du menu :
this.setJMenuBar(monMenu);
// On rajoute les éléments (pour l'instant que la carte 1) :
this.setContentPane(acceuil);
this.setVisible(true);
// On ajoute la gestion des évenements :
this.addKeyListener(gEvenement);
}
public void setGame()
{
System.out.println("TEST");
this.setContentPane(laCarte);
}
} |
et
Menu.java
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
|
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Menu extends JMenuBar {
//CREATION DES OBJETS DU MENU
private JMenu test1 = new JMenu("Fichier");
private JMenu test2 = new JMenu("Edition");
private JMenuItem item1 = new JMenuItem("Nouveau");
private JMenuItem item2 = new JMenuItem("Ouvrir");
private JMenuItem item3 = new JMenuItem("Fermer");
private JMenuItem item4 = new JMenuItem("Annuler");
private JMenuItem item5 = new JMenuItem("Recommencer");
public Menu()
{
this.test1.add(item1);
this.test1.add(item2);
this.test1.add(item3);
item3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
item4.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
}
});
item5.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
Fenetre fenetre1 = new Fenetre();
fenetre1.setGame();
}
});
test2.add(item4);
test2.add(item5);
this.add(test1);
this.add(test2);
}
} |
Partager