Bonjour à tous je suis développeur java et j'ai un petit souci d'affichage, c'est pour un tp d'informatique :
pour ceux qui ont la foi voici le code complet en github : https://github.com/blackAllSun/JeuxDeCourseAutoJava
je voudrais désérialiser un fichier json avec gson puis l'afficher avec un JTable, en console pas d'erreur les bons id renvoient aux bon objet mais l'affichage de JTable n'affiche que le 1er élément!
le code du renderer :
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
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
 
package jeuxDeVoitureAuto.ihm.renderer;
 
import java.awt.Component;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.Collections;
import java.util.List;
 
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
 
import com.google.gson.Gson;
import com.google.gson.stream.JsonReader;
 
import jeuxDeVoitureAuto.RootGson;
import jeuxDeVoitureAuto.pojo.Adresse;
import jeuxDeVoitureAuto.pojo.Contrat;
import jeuxDeVoitureAuto.pojo.Sponsor;
 
public class TableLabelRendererAdresse extends DefaultTableCellRenderer {
	String jsonString="/home/blackallsun/workspace/TPDiversJavaSE/src/jeuxDeVoitureAuto/listeVoiture.json";
	File fileToInternalStorage = new File(jsonString);
	Gson gson = new Gson();
	JsonReader reader=new JsonReader(new InputStreamReader(new FileInputStream(fileToInternalStorage), "UTF-8"));
	RootGson root = gson.fromJson(reader, RootGson.class); 
	List<Sponsor> listSponsor=root.getSponsor();
	List<Adresse> listAdresse=root.getAdresse();
 
	String ville;
	String pays;
	String strText;
	public TableLabelRendererAdresse() throws FileNotFoundException, UnsupportedEncodingException{}
	public Component getTableCellRendererComponent(JTable table, Object value,
		                                                 boolean isSelected, boolean hasFocus, 
		                                                 int row, int column) {
		super.getTableCellRendererComponent(table, value, isSelected, hasFocus,	row, column);
		for(int iSponsor=0;iSponsor<listSponsor.size();iSponsor++){
			int idAdresse=listSponsor.get(iSponsor).getIdAdresse();
			System.out.println("id adresse : "+ idAdresse +" de id sponsor"+iSponsor);
			searchAdresse(idAdresse);
			ville=listAdresse.get(idAdresse).getVille();
			pays=listAdresse.get(idAdresse).getPays();
			value=new Adresse(idAdresse,ville,pays);
			strText="<html><head></head><body>";
			strText+= "<label>Id : "+((Adresse) value).getIdAdresse()+"</label><br>";
			strText+="<label>Ville : "+((Adresse) value).getVille()+"</label><br>";
			strText+="<label>France : "+((Adresse) value).getPays()+"</label><br>";
			strText+="</body><html>";
			setText(strText);}
		    return this;}
	public void searchAdresse(int indexAdresse){
		System.out.println("**** Adresse :      ****");
		 Collections.sort(listAdresse);
 
			 System.out.println("id : "+listAdresse.get(indexAdresse).getIdAdresse());
			 System.out.println("Ville : "+listAdresse.get(indexAdresse).getVille());
			 System.out.println("Pays : "+listAdresse.get(indexAdresse).getPays());
 
	}	
 
}
le code console :
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
34
35
36
 
 
id : 0
Ville : Changai
Pays : Chine
id adresse : 2 de id sponsor2
**** Adresse :      ****
id : 2
Ville : Londres
Pays : Angleterre
id adresse : 3 de id sponsor3
**** Adresse :      ****
id : 3
Ville : Rome
Pays : Italie
id adresse : 1 de id sponsor0
**** Adresse :      ****
id : 1
Ville : Berlin
Pays : Allemagne
id adresse : 0 de id sponsor1
**** Adresse :      ****
id : 0
Ville : Changai
Pays : Chine
id adresse : 2 de id sponsor2
**** Adresse :      ****
id : 2
Ville : Londres
Pays : Angleterre
id adresse : 3 de id sponsor3
**** Adresse :      ****
id : 3
Ville : Rome
Pays : Italie
id adresse : 1 de id sponsor0[ATTACH=CONFIG]303165[/ATTACH]
merci de me lire et si vous une idée comment y remédier je vous en serais très reconnaissante . Viviane