Manipulation JTable-JLabel(Icon)

cs_crazysetup Messages postés 30 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 février 2010 - 25 janv. 2010 à 06:22
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 25 janv. 2010 à 07:59
Bonjour à tous,
J'implore votre aide parce que ça fait 2 jours que je bute sur ce problème, alors voila :

J'ai une JTable composée de 2 colonnes, cette JTable recevra le résultats d'une requête SQL et comportera donc dans la deuxième colone le nom des nation européennes et dans la première un JLabel avec pour chaque nation une ImageIcon Correspondant à son drapeau, c'est la deuxième colonne qui me pose problème
Voici ce que j'ai fait jusqu'à présent (je travaille sur NetBeans):


public class Coupe_Europe extends javax.swing.JFrame {
private Connexion data_euro;
private Vector candidats;
private Object val;
private DefaultTableModel model_qual;

/** Creates new form Coupe_Europe */
public Coupe_Europe() {
initComponents();

System.out.println(jXImagePanel1.getHeight()+","+jXImagePanel1.getWidth());
// Définition de l'image d'arrière plan
try {
Image image = ImageIO.read(new File("d:/topten/logoEuro.jpg"));
jXImagePanel1.setImage(image);
} catch (IOException ex) {
ex.printStackTrace();
}
// Affichage de la liste des équipes europpéennes
data_euro = new Connexion("jdbc:oracle:thin:@127.0.0.1:1521:XE");
try {
data_euro.ExecuteQuery("select nom_nation from nation where nom_nation not in('Italie','France','Allemagne','Angleterre','Portugal','Espagne','Pays bas') and continent_nation='Europe'");
} catch (SQLException ex) {
Logger.getLogger(Coupe_Europe.class.getName()).log(Level.SEVERE, null, ex);
}
candidats = new Vector();
for(int i=0;i<data_euro.rows.size();i++)
candidats.add(ChainCleaner(data_euro.rows.get(i).toString()));
jXList1.setListData(candidats);

// Modele de la table des qualifiés
String [] titre = {"Drapeau","Nation"};
String [][] data={{"",""},{"",""},{"",""},{"",""},{"",""},{"",""},{"",""},{"",""},{"",""},{"",""},{"",""},{"",""},{"",""},{"",""},{"",""},{"",""}};
model_qual = new DefaultTableModel(data,titre);
jTable1.setModel(model_qual);
for(int i=0;i<16;i++)
{
model_qual.setValueAt(candidats.get(i).toString(), i, 1);
System.out.println(candidats.get(i).toString());


}

Je n'ai pas su travailler avec le CellRenderer ou le CellEditor
Si vous pouviez m'aider à avancer, ce serait sympa.

Merci !

3 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
25 janv. 2010 à 07:30
Salut,

Il te faut en effet implémenter au moins un cellRenderer pour afficher une image dans une cellule d'un JTable.

Voir mes sources de cellRenderer et CellEditor pour un exemple concret.
______________________________________
DarK Sidious
0
cs_crazysetup Messages postés 30 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 février 2010
25 janv. 2010 à 07:34
Salut Dark, je ne trouve pas tes sources, peux-tu me poster les url ?
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
25 janv. 2010 à 07:59
Salut,

Voici le lien
______________________________________
DarK Sidious
0