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 :

exemples de jtable avec des ImageIcons


Sujet :

Composants Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 31
    Points : 28
    Points
    28
    Par défaut exemples de jtable avec des ImageIcons
    Bonjour,

    Je souhaiterais avoir des exemples de code de jtable comprenant des ImageIcons et ou il serait possibles d’ajouter des lignes.

    Merci de votre aide.

  2. #2
    Membre habitué Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Points : 185
    Points
    185
    Par défaut
    un des mes ancien code... rien de très pro mais ça peut te servir

    le table model
    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
     
    public class CanariTableModel extends AbstractTableModel { 
     
    	   private static final ImageIcon iconMale = new ImageIcon("img/Male.gif" ); 
    	   private static final ImageIcon iconFemele = new ImageIcon("img/Femelle.gif" );
    	   private static final ImageIcon iconJeune = new ImageIcon("img/Canari.gif" );
     
    	   private Annee annee =null; 
     
    	   public CanariTableModel(String nomFichier){ 	      
    	   	   annee = Annee.lire(nomFichier); 	      	      		      
    	   } 
     
    	   /** 
                * nombre de colonnes 
                * @see javax.swing.table.TableModel#getColumnCount() 
                */ 
    	   public int getColumnCount() { 
    	      return 8; 
    	   } 
     
    	   /** 
                * nombre de lignes 
                * @see javax.swing.table.TableModel#getRowCount() 
                */ 
    	   public int getRowCount() { 
    	      return annee.getAnnee().size(); 
    	   } 
     
    	   /** 
                * récupère la valeur à aficher 
                * @see javax.swing.table.TableModel#getValueAt(int, int) 
                */ 
    	   public Object getValueAt(int rowIndex, int columnIndex) { 
    	      Canari unCanari =  get(rowIndex); 
    	      switch (columnIndex) { 	         
    	          case 0 : // 2eme l'icon mâle, femelle ou jeune            
                     if("Mâle".equals(unCanari.getSexe()))
    	         	     return iconMale; 
    	             else if("Femelle".equals(unCanari.getSexe())) 
    	                 return iconFemele;
    	             else
    	                 return iconJeune; 
    	         case 1 ://1er l'identifiant
    	         	return unCanari.getIdentifiant(); 
     
    	         case 2 : // 3eme colonne c'est le sexe 
    	             return unCanari.getSexe(); 
    	         case 3 : // 4eme colonne c'est le pere 
    	         	return unCanari.getIdentifiantPere(); 
    	         case 4 : // 5eme colonne c'est la mère 
    	            return unCanari.getIdentifiantMere(); 
    	         case 5 : // 6eme colonne c'est la couleur 
    	            return unCanari.getCouleur();  
    	         case 6 : //7eme colonne c'est l'origine 
    	            return unCanari.getOrigine(); 
    	         case 7 : // 8eme colonne c'est la disponibilté
    	            return unCanari.getDisponible();
    	         default : 
    	            return null; 
    	      } 
    	   } 
     
    	   public Canari get(int rowIndex){ 
    	      return (Canari) annee.getAnnee().get(rowIndex); 
    	   } 
     
    	   /** 
                * Renvoie le titre de la colonne 
                * @see javax.swing.table.TableModel#getColumnName(int) 
                */ 
    	   public String getColumnName(int columnIndex) { 
    	      switch (columnIndex) { 
    	         case 0 : 
                    return " ";
    	         case 1 : 
    	            return "Identifiant"; 
    	         case 2 : 
    	            return "Sexe"; 
    	         case 3 : 
    	            return "Père"; 
    	         case 4 : 
    	            return "Mère"; 
    	         case 5 : 
    	            return "Couleur"; 
    	         case 6 : 
    	            return "Origine"; 
    	         case 7 : 
    	            return "Disponible"; 
    	         default : 
    	            return null; 
    	      } 
    	   } 
     
    	    /** 
                 * Determine si la cellule a la position "row" et "col" et editable ou non. 
                 * 
                 * @param row La ligne en question 
                 * @param col La colonne en question 
                 * @return True si la cellule est editable, false sinon. 
                 */ 
    	    public boolean isCellEditable(int row, int col) { 
    	        return false; 
    	    } 
    	   /** 
                * Méthode pour l'ajout d'un canari. 
                * @param canari 
                */ 
    	   public void add(Canari canari) { 
    	   	  Canari can =annee.getCanari(canari.getIdentifiant());
    	   	  if(can!=null){
               //construction du message 
      		   StringBuffer mess = new StringBuffer("Le canari "); 
      		   mess.append(canari.getIdentifiant()+" existe déjà").append("\n\t Voulez-vous le remplacer ?");
      		   //création du JOptionPane
      		   int choix=JOptionPane.showConfirmDialog(MaFrame.getMaFrame(),mess,"Ajouter un canari",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE);
      		   if(choix==JOptionPane.YES_OPTION){
      		   	try{
      		     can.setIdentifiant(canari.getIdentifiant());
      		     can.setSexe(canari.getSexe());
      		     can.setIdentifiantPere(canari.getIdentifiantPere());
      		     can.setIdentifiantMere(canari.getIdentifiantMere());
      		     can.setCouleur(canari.getCouleur());
      		     can.setOrigine(canari.getOrigine());
      		     can.setDisponible(canari.getDisponible());
      		   	}
      		    catch(Exception except){ System.out.println("Exception!!!");}
    	        fireTableDataChanged();
      		     }
    	   	  	}
    	       else{
    	       	 annee.getAnnee().add(canari);	      
    	         fireTableDataChanged();
    	       }
    	   } 
     
    	   /** 
                * Méthode pour la suppression d'un canari. 
                * @param canari 
                */ 
    	   public void remove(Canari canari) { 
    	      annee.getAnnee().remove(canari); 
    	      fireTableDataChanged(); 
    	   } 
     
     
    	   /** 
                * @see javax.swing.table.TableModel#getColumnClass(int) 
                */ 
    	   public Class getColumnClass(int columnIndex) { 
    	      switch (columnIndex) { 
    	         case 0 : // premier colonne c'est l'icon 
    	            return ImageIcon.class; 
    	         default : 
    	            return String.class; 
    	      } 
    	   } 
     
    	   /** 
                * @see javax.swing.table.AbstractTableModel#fireTableDataChanged() 
                */ 
    	   public void fireTableDataChanged() { 
    	      //qui dit changement dans les données dit sauvegarde 
    	      annee.ecrire(); 
    	      super.fireTableDataChanged(); 
    	   } 
     
    	   public Annee getAnnee(){ 
    	      return annee; 
    	   } 
     
    	}
    en espérant qu'il te sera utile

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 31
    Points : 28
    Points
    28
    Par défaut
    Merci,

    Je viens d’essayer le bout de code, mais la méthode add ne m’est pas proposer dans l’ajout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    annee.getAnnee().add(canari);

  4. #4
    Membre habitué Avatar de pingoui
    Homme Profil pro
    Activité professionnelle sans liens avec le developpement
    Inscrit en
    Juillet 2004
    Messages
    582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Activité professionnelle sans liens avec le developpement
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2004
    Messages : 582
    Points : 185
    Points
    185
    Par défaut
    C'est un exemple de mon code... après il te faut l'adapter

    A moins que tu aimes les canaris

  5. #5
    Nouveau membre du Club
    Inscrit en
    Octobre 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 31
    Points : 28
    Points
    28
    Par défaut
    Merci pour t’on aide,

    J’y suis enfin arrivé grâce à exemple et au tutorial sur
    l’introduction aux composants Jtable, Jtree et jGraph.

    J’en profite pour mettre le tag

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

Discussions similaires

  1. Colorer des résultats dans JTable avec des couleurs differentes
    Par stratocasters dans le forum Composants
    Réponses: 9
    Dernier message: 13/07/2012, 11h22
  2. JTable avec des noms de colonnes spécial
    Par OSryx dans le forum Composants
    Réponses: 5
    Dernier message: 05/10/2010, 14h26
  3. Remplir jtable avec des données d'un tableau
    Par kaisser dans le forum Composants
    Réponses: 1
    Dernier message: 01/01/2010, 18h19
  4. JTable avec des JPanel dans les cellule
    Par pigpen dans le forum Composants
    Réponses: 11
    Dernier message: 13/04/2006, 19h58
  5. jTable avec des tables énormes
    Par netmailbeans@gmail.com dans le forum Composants
    Réponses: 3
    Dernier message: 13/02/2006, 21h24

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