-
Notifications
You must be signed in to change notification settings - Fork 0
/
EcouteurFenetreAjoutAjouter.java
82 lines (71 loc) · 5.95 KB
/
EcouteurFenetreAjoutAjouter.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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/** Classe écouteut du bouton Ajouter de la fenpetre "ajouter particule"
*/
public class EcouteurFenetreAjoutAjouter implements ActionListener {
FenetreAjout fenetreAjout;
/** Constructeur de l'écouteur
* @param fenetreAjout : Fenêtre parente "Fenetre Ajout" conteant le bouton "Ajouter"
*/
public EcouteurFenetreAjoutAjouter(FenetreAjout fenetreAjout){
this.fenetreAjout=fenetreAjout;
}
/* Méthode standard de réaction
*/
public void actionPerformed(ActionEvent ae) {
if(fenetreAjout.getMasse()!=0 && fenetreAjout.getRayon()>0){
//On réagit différemment suivant le type de particule sélectionné.
switch(fenetreAjout.getTypeParticule()){
case "Terre" :
// On créé la particule avec les données de la fenêtre et on l'ajoute à la fenetre principale qui se charge du reste
Terre maTerre = new Terre(fenetreAjout.getCoordX(), fenetreAjout.getCoordY(),0, fenetreAjout.getVitX(), fenetreAjout.getVitY(),0,fenetreAjout.getAccX(), fenetreAjout.getAccY(), 0, fenetreAjout.getMasse(), fenetreAjout.getRayon(),true);
fenetreAjout.getFenAffichage().ajouterParticule(maTerre);
fenetreAjout.getFenAffichage().getZoneDessin().repaint();
//On cache la fenetre d'ajout de particule
fenetreAjout.dispose();
//DEBUG //
if(Affichage.debug){System.out.println(" ECOUTEUR LANCEMENT (Ajout d'une particule TERRE) coordX " + fenetreAjout.getCoordX() + " coordY " + fenetreAjout.getCoordY() + "coordZ " + 0 + " vitesX " + fenetreAjout.getVitX() + " vitesY " + fenetreAjout.getVitY() + "vitesZ " + 0 + " accelX " + fenetreAjout.getAccX() + " accelY " + fenetreAjout.getAccY() + " accelZ " + 0 + " masse " + fenetreAjout.getMasse() + " type " + fenetreAjout.getTypeParticule() + "rayon " + fenetreAjout.getRayon() + " couleur " + fenetreAjout.getCouleurParticule());}
//DEBUG - Connaitre les particules effectivement ajouté//
break;
case "Naine rouge" :
// On créé la particule avec les données de la fenêtre et on l'ajoute à la fenetre principale qui se charge du reste
EtoileNaineRouge monEtoileNaine = new EtoileNaineRouge(fenetreAjout.getCoordX(), fenetreAjout.getCoordY(),0, fenetreAjout.getVitX(), fenetreAjout.getVitY(),0,fenetreAjout.getAccX(), fenetreAjout.getAccY(), 0, fenetreAjout.getMasse(), fenetreAjout.getRayon(),true);
fenetreAjout.getFenAffichage().ajouterParticule(monEtoileNaine);
fenetreAjout.getFenAffichage().getZoneDessin().repaint();
//On cache la fenetre d'ajout de particule
fenetreAjout.dispose();
//DEBUG //
if(Affichage.debug){System.out.println(" ECOUTEUR LANCEMENT (Ajout d'une particule Naine Rouge) coordX " + fenetreAjout.getCoordX() + " coordY " + fenetreAjout.getCoordY() + "coordZ " + 0 + " vitesX " + fenetreAjout.getVitX() + " vitesY " + fenetreAjout.getVitY() + "vitesZ " + 0 + " accelX " + fenetreAjout.getAccX() + " accelY " + fenetreAjout.getAccY() + " accelZ " + 0 + " masse " + fenetreAjout.getMasse() + " type " + fenetreAjout.getTypeParticule() + "rayon " + fenetreAjout.getRayon() + " couleur " + fenetreAjout.getCouleurParticule());}
//DEBUG - Connaitre les particules effectivement ajouté//
break;
case "Meteorite Tcheliabinsk" :
// On créé la particule avec les données de la fenêtre et on l'ajoute à la fenetre principale qui se charge du reste
Meteorite maMeteorite = new Meteorite(fenetreAjout.getCoordX(), fenetreAjout.getCoordY(),0, fenetreAjout.getVitX(), fenetreAjout.getVitY(),0,fenetreAjout.getAccX(), fenetreAjout.getAccY(), 0, fenetreAjout.getMasse(), fenetreAjout.getRayon(),true);
fenetreAjout.getFenAffichage().ajouterParticule(maMeteorite);
fenetreAjout.getFenAffichage().getZoneDessin().repaint();
//On cache la fenetre d'ajout de particule
fenetreAjout.dispose();
//DEBUG //
if(Affichage.debug){System.out.println(" ECOUTEUR LANCEMENT (Ajout d'une particule Meteorite) coordX " + fenetreAjout.getCoordX() + " coordY " + fenetreAjout.getCoordY() + "coordZ " + 0 + " vitesX " + fenetreAjout.getVitX() + " vitesY " + fenetreAjout.getVitY() + "vitesZ " + 0 + " accelX " + fenetreAjout.getAccX() + " accelY " + fenetreAjout.getAccY() + " accelZ " + 0 + " masse " + fenetreAjout.getMasse() + " type " + fenetreAjout.getTypeParticule() + "rayon " + fenetreAjout.getRayon() + " couleur " + fenetreAjout.getCouleurParticule());}
//DEBUG - Connaitre les particules effectivement ajouté//
break;
default :
// On créé la particule avec les données de la fenêtre et on l'ajoute à la fenetre principale qui se charge du reste
Particule maParticule = new Particule(fenetreAjout.getCoordX(), fenetreAjout.getCoordY(),0, fenetreAjout.getVitX(), fenetreAjout.getVitY(),0,fenetreAjout.getAccX(), fenetreAjout.getAccY(),0,fenetreAjout.getMasse(),fenetreAjout.getTypeParticule(), fenetreAjout.getRayon(),fenetreAjout.getCouleurParticule(), true);
fenetreAjout.getFenAffichage().ajouterParticule(maParticule);
fenetreAjout.getFenAffichage().getZoneDessin().repaint();
//On cache la fenetre d'ajout de particule
fenetreAjout.dispose();
//DEBUG //
if(Affichage.debug){System.out.println(" ECOUTEUR LANCEMENT (Ajout d'une particule par défaut) coordX " + fenetreAjout.getCoordX() + " coordY " + fenetreAjout.getCoordY() + "coordZ " + 0 + " vitesX " + fenetreAjout.getVitX() + " vitesY " + fenetreAjout.getVitY() + "vitesZ " + 0 + " accelX " + fenetreAjout.getAccX() + " accelY " + fenetreAjout.getAccY() + " accelZ " + 0 + " masse " + fenetreAjout.getMasse() + " type " + fenetreAjout.getTypeParticule() + "rayon " + fenetreAjout.getRayon() + " couleur " + fenetreAjout.getCouleurParticule());}
//DEBUG - Connaitre les particules effectivement ajouté//
break;
}
} else {
System.out.println("La particule doit obligatoirement avoir une masse et un rayon positif.");
//DEBUG //
if(Affichage.debug){System.out.println("ECOUTEUR LANCEMENT : " + fenetreAjout.getMasse() +" "+ fenetreAjout.getRayon());}
//DEBUG//
}
}
}