Simulation Graphique et menu
Bonjour à tous!!
Voici mon petit problème: j'ai défini l'affichage graphique d'un JPanel, via une méthode nommée simuGraph, comme suit:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
public void simuGraph(){
this.nbCycle=34;
Ocean indien = new Ocean(32,80);
laGrille = new Grille(indien, boeing);
getContentPane().add(laGrille);
setVisible(true);
for (int tps=0; (tps<this.getNbcycle() && this.getSimu().getNbpanic()!=0);tps++){
this.getSimu().uncycle();
for (int i=0;i<100000000; i++){}
this.laGrille.repaint();
}
} |
Lorsque j'appelle cette méthode dans le main de ma classe JFrame, aucun souci, la simulation apparait dans la JFrame.
Maintenant, afin de pouvoir rentrer les paramètres (nombre de passagers, nombre de cycles), j'ai créé un menu qui demande successivement ces données, puis à l'issu j'appelle ma méthode d'initialisation, puis de simulation graphique, et là, surprise, la simulation n'apparait plus!!!
Quelqu'un aurait-il une idée du problème que doit générer mon actionlistener??
Voici le code:
Code:
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
|
private JMenuItem getNewSimulation() {
if (newSimulation == null) {
newSimulation = new JMenuItem();
newSimulation.setActionCommand("Nouvelle simulation");
newSimulation.setText("Nouvelle simulation");
newSimulation.setEnabled(true);
newSimulation.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println(e);
if (e.getActionCommand().equals("Nouvelle simulation")){
String reponse1 = JOptionPane.showInputDialog("Veuillez entrer le nombre de passagers désirés","5 min et 53 max");
while((testEntier(reponse1))==false){
if (reponse1==null){
break ;
}
else{
reponse1=JOptionPane.showInputDialog("Veuillez entrer le nombre de passagers désirés","5 min et 53 max");
}
}
String reponse2 = JOptionPane.showInputDialog("Veuillez entrer le nombre de cycles désirés","500 max");
while((testEntier(reponse2))==false){
if (reponse2==null){
break ;
}
else{
reponse2 = JOptionPane.showInputDialog("Veuillez entrer le nombre de cycles désirés","500 max");
}
}
initSimu();
simuGraph(); |