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] ajouter une colonne spéciale


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut [JTable] ajouter une colonne spéciale
    Bonsoir
    j'ai créé un jtable mais je veux ajouter une colonne comme cette image si vous voyez bien que la premiere colonne la fléche se déplcae a chaque fois cliquant sur une ligne
    je n'ai aucune idée comment ajouter cette colonne

    http://www.servimg.com/image_preview...=16&u=11546812

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     String[] columns = { "code ",  "Désignation", "Qte"  };
               model = new DefaultTableModel(columns, 0);
     
               model.addRow(new String[] {"", "", ""});
               model.addRow(new String[] {"", "", ""});
     
               jTable1 = new JTable(model);

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    Perso je ferais un TableModel qui renverrait vrai ou faux sur cette colonne, selon que la ligne est sélectionnée ou pas ; puis je me débrouillerais avec un renderer pour l'image.

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut
    salut
    mais désolé je t'ai pas compris

  4. #4
    Membre expérimenté Avatar de ze_corsaire
    Inscrit en
    Décembre 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2007
    Messages : 240

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 282
    Par défaut
    Pour être un peu plus précis sans donner trop de code, dans ton modèle, il te faudra ajouter une colonne liée à aucune donnée. Puis tu créer une classe implémentant TableCellRender comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class ArrowCellRenderer extends JLabel implements TableCellRenderer
    Dans la méthode getTableCellRendererComponent que tu devras forcément implémenter, tu test si le booléen selected est à true, si c'est le cas tu affiche une image de flèche avec setIcon("img_fleche"), sinon la même image mais sans la flèche.

    Enfin, dans ta classe JTable, tu défini le renderer pour ta première colonne avec la méthode setDefaultRenderer().

    En espérant avoir aidé.

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut
    voila ce que j'ai fais

    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
     
    String[] columns = {
         "la colone" "réference", "prix", "Designation_article"};
     model = new DefaultTableModel(columns, 0);
     model.addRow(new String[] {"", "", ""});
     model.addRow(new String[] {"", "", ""});
     
     
     
     t = new JTable(model) {
          public TableCellRenderer getCellRenderer(int row, int column)
                    {
                        return renderer;
                    }
                };
     
     
     
    class CellRenderer extends DefaultTableCellRenderer {
     
       public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
       {
          ImageIcon fléche ;
         JLabel l = new JLabel();
         fléche =new ImageIcon("C:\\1.JPG");
     
                 l.setIcon(fléche);
     
           final Component component = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
     
           if(isSelected) 
                 { 
     
                aucune idée sur affichage icone sur la premiere colone si je click sur ligne 
                 } 
     
           return component;
       }
     
    }
    qui peut m'aider à completer le code

Discussions similaires

  1. Ajouter une colonne Checkbox JTable
    Par tunis71187 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 17/09/2012, 15h29
  2. Réponses: 0
    Dernier message: 13/04/2012, 17h57
  3. [JTable] ajouter une colonne de checkbox
    Par nawel dans le forum Composants
    Réponses: 3
    Dernier message: 04/05/2005, 14h07
  4. Réponses: 4
    Dernier message: 09/02/2005, 10h44
  5. [JTable] redimensionner une colonne
    Par TheSeb dans le forum Composants
    Réponses: 2
    Dernier message: 21/12/2004, 19h30

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