Pas moyen de récupérér un Vector
Bonjour,
Comme je suis un peu débutant en Java je vous explique mon problème. Je stocke des enregistrements en XML et je veux les afficher dans un appelet Java (dans un JTable). J'ai créé une première classe pour récupérer ces données (comme je travaille dans Eclipse les System.out.println(); à la fin c'est juste pour vérifier dans la console que j'ai bien les enregistrements) Voici ma classe:
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 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 83 84 85 86 87 88 89 90
|
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.Vector;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
public class XMLData {
public static class Membre {
public String prenom;
public String nom;
public String exp;
public String elo;
public String elomax;
public String tel;
public String mail;
public String actif;
public Membre(String p, String n, String ex, String el,
String elm, String t, String em, String a) {
this.prenom = p;
this.nom = n;
this.exp = ex;
this.elo = el;
this.elomax = elm;
this.tel = t;
this.mail = em;
this.actif = a;
}
}
static Vector<Membre> listeDesMembres = new Vector<Membre>();
public static void ajoutMembre(Membre m) {
listeDesMembres.add(m);
}
public static Vector<Membre> ListeMembres() {
SAXBuilder builder = new SAXBuilder();
File xmlfile = new File("membres.xml");
try {
Document document = (Document) builder.build(xmlfile);
Element rootNode = document.getRootElement();
@SuppressWarnings("rawtypes")
List list = rootNode.getChildren("membre");
for (int i = 0; i < list.size(); i++) {
Element node = (Element)list.get(i);
ajoutMembre(new Membre(node.getChildText("prenom"),
node.getChildText("nom"),
node.getChildText("exp"),
node.getChildText("elo"),
node.getChildText("elomax"),
node.getChildText("tel"),
node.getChildText("mail"),
node.getChildText("actif")));
System.out.println("Prenom " + node.getChildText("prenom"));
System.out.println("Nom " + node.getChildText("nom"));
System.out.println("Exp " + node.getChildText("exp"));
System.out.println("Elo " + node.getChildText("elo"));
System.out.println("EloMax " + node.getChildText("elomax"));
System.out.println("Tel " + node.getChildText("tel"));
System.out.println("Email " + node.getChildText("mail"));
System.out.println("Actif " + node.getChildText("actif"));
System.out.println();
}
System.out.println ("Nombre de membres : " + listeDesMembres.size());
} catch (IOException io) {
System.out.println(io.getMessage());
} catch (JDOMException jdomex) {
System.out.println(jdomex.getMessage());
}
return listeDesMembres;}
} |
Mon souci arrive à l'affichage des données, je trouve pas le problème même avec les propositions d'Eclipse :
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 36
|
import java.awt.BorderLayout;
import java.util.Iterator;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
public class AfficheMembres extends JFrame {
private static final long serialVersionUID = 1L;
private void centrerTable(JTable table) {
DefaultTableCellRenderer custom = new DefaultTableCellRenderer();
custom.setHorizontalAlignment(JLabel.CENTER);
for (int i=0 ; i<table.getColumnCount() ; i++)
table.getColumnModel().getColumn(i).setCellRenderer(custom);
}
public AfficheMembres() {
super();
new XMLData();
// le problème se situe ici
Vector<Membre> Membres = XMLData.ListeMembres();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// l'Iterator ne marche pas non plus
Iterator <listeDesMembres> e = listeDesMembres.iterator();
while(e.hasNext()){
}
......... |
Dans un premier temps Eclipse dit "Member cannot be resolved to a type" et il propose "Import 'Membre'(XMLData)" mais l'import dit : "The import XMLData cannot be resolved"...
Une idéé??
Merci d'avance mra_ch