IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

[JTable] Insertion d'images dans la première colonne


Sujet :

Composants Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut [Resolu][JTable] Insertion d'images dans la première colonne
    Bonjour,

    Je bloque sur ce problème. En fait, je souhaitre mettre des images sur la première colonne de ma JTable et du texte dans les colonnes suivantes mais je n'y arrive pas..

    D'après les recherches que j'ai faites, il y a une modification à faire dans la classe TableModel.....

    public class TableModel extends AbstractTableModel
    {
    ............
    public Class getColumnClass(int columnIndex){
    //si imageicon alors return ImageIcon.class;
    //si texte alors return String.class;
    }

    public Object getValueAt(int rowIndex, int columnIndex) {
    //return (String)data[rowIndex][columnIndex];
    }
    }

    S'il vous plait, aidez moi, je n'y arrive pas

  2. #2
    Membre éprouvé Avatar de leminipouce
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2004
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2004
    Messages : 754
    Points : 1 251
    Points
    1 251
    Par défaut
    Je n'ai pas le code sous la main, mais je sais qu'il faut aussi que tu apportes des modifications à ton ListCellRenderer.
    En gros, tu crées un ListcellRenderer, auquel tu abonnes ta JTable.
    Ensuite, pour savoir comment définir clairement et proprement ton renderer, je te renvoies vers Sun qui a fait un bon tuto sur le sujet.
    ComboBox renderer
    Table Renderer Demo
    Model
    List
    Les deux premiers me semblent être les meilleurs.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    C'est bon j'ai trouvé la solution.

    En fait, j'avai mal déclaré mon tableau. Il était en String alors je l'ai déclaré en tant que Object.

    sinon voici un code sur lequel je me suis appuyé
    import java.awt.*;
    import java.net.*;
    import javax.swing.*;
    import javax.swing.table.*;

    public class Test {
    public static void main(String[] args) throws MalformedURLException {
    DefaultTableModel model = new DefaultTableModel(new String[]{"path","image"}, 0) {
    public Class getColumnClass(int columnIndex) {
    return columnIndex==1? Icon.class : String.class;
    }

    public boolean isCellEditable(int rowIndex, int columnIndex){
    return false;
    }
    };

    URL[] urls = {
    new URL("http://today.java.net/jag/bio/JagHeadshot-small.jpg"),
    new URL("http://today.java.net/jag/bio/JAG2001small.jpg"),
    new URL("http://blogs.sun.com/roller/resources/jag/2005_09_14_03-44-21-438_n1.small.png")
    };
    for(int i=0; i<urls.length; ++i)
    model.addRow(new Object[]{urls[i].toString(), new ImageIcon(urls[i])});
    JTable table = new JTable(model);
    table.setRowHeight(240);
    JScrollPane sp = new JScrollPane(table);
    sp.setPreferredSize(new Dimension(600,450));

    final JFrame f = new JFrame();
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.getContentPane().add(sp);
    f.pack();
    SwingUtilities.invokeLater(new Runnable(){
    public void run() {
    f.setLocationRelativeTo(null);
    f.setVisible(true);
    }
    });
    }
    }
    J'espère que ca aidera les autres

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insertion d'images dans un document à 2 colonnes
    Par poopy83 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 1
    Dernier message: 15/01/2007, 18h21
  2. Problème d'insertion d'image dans une fenêtre.
    Par Antigonos Ier Gonatas dans le forum Tkinter
    Réponses: 2
    Dernier message: 26/08/2006, 13h44
  3. Back office et insertion d'images dans un formulaire
    Par djedje37et28 dans le forum Langage
    Réponses: 4
    Dernier message: 28/07/2006, 11h50
  4. [MySQL] Insertion d'image dans une base de données
    Par dragonfly dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/03/2006, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo