Bonjour, j'ai des informations qui devraient s'afficher dans un JPanel, lui même dans une JFrame, via la méthode drawString...
Le problème est le suivant: au debugger, tout se passe bien, les différentes infos sont prises en compte, mais pas d'affichage!!
Pour avoir des infos en temps reel, j'ai utilisé un Thread;
voici les éléments de code:
méthodes paintComponent et run de la JFrame:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // Methode Run public void run(){ this.repaint(); }et la méthode utilisé pour l'execution:
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 //Methode paintComponent public void paintComponent(Graphics g){ super.paintComponent(g); Graphics2D g2D=(Graphics2D)g; if (this.getSimulation()!=null){ // Affiche le nombre de passagers restants dans l'avion int nbPassagersRestants = this.getSimulation().getNbpanic(); String passagersRestants = "Il reste "+nbPassagersRestants+" passagers dans l'avion"; g2D.drawString(passagersRestants, 10,10); // Affiche le nombre de passagers evacues if (this.getSimulation().getNbdehors()!=0){ int nbPassagersEvacues = this.getSimulation().getNbdehors(); String passagersEvacues = "Déjà "+nbPassagersEvacues+" passagers ont été évacués"; g2D.drawString(passagersEvacues, 20,10);} else{ String passagersEvacues = "Aucun passager évacué"; g2D.drawString(passagersEvacues, 20,10); } // Affiche le nombre de passagers morts if (this.getSimulation().getNbdead()!=0){ int nbPassagersMorts = this.getSimulation().getNbdead(); String passagersMorts = "Malheureusement, "+nbPassagersMorts+" passagers sont décédés durant l'évacuation"; g2D.drawString(passagersMorts, 30,10);} else{ String passagersMorts = "Aucun décés signalé"; g2D.drawString(passagersMorts, 30,10); } }} }
Merci d'avance à ceux et celles qui ont une idée pour arranger ce problème!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public void simulationGraphique(String a){ int nbCycle=Integer.parseInt(a); Ocean indien = new Ocean(32,80); laGrille = new Grille(indien, this.avion); donneesDirect = new SuiviDonnees(this.getSimulation()); donneesDirect.start(); laGrille.start(this.simulation, nbCycle); this.jContentPane.add(laGrille); this.jContentPane.add(donneesDirect); this.setVisible(true); }
Partager