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 :

ajout de colonne JTable


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti Avatar de matzeus
    Inscrit en
    Avril 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 52
    Par défaut ajout de colonne JTable
    je lance un ultime appel...
    j'ai un probleme avec les JTables qui est tout simple en fait...
    j'aimerais juste faire un ajout de colonne sur un tableau deja existant.
    le model du tableau est extend AbstractTableModel et dans cette classe je defini les fonctions classiques (getColumnName,getRowCount, getColumnCount,.....)
    je n'arrive pas a faire ce simple ajout.
    si par bidouillage j'arrive a rajouter une colonne , celle ci ne repond pas a mes demandes, et si elle y repond, elle s'ecrit par dessus une autre colonne me faisant ainsi perdre ses données...
    si qq'un pouvais m'aider ou me donner un exemple ca serait cool car je commence a perdre pied!!
    merci d'avance

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Fais en sorte que ton model hérite de DefaultTableModel et tu auras la possibilité d'ajouter une colonne grâce à la méthode addColumn(...) de ton model

  3. #3
    Membre averti Avatar de matzeus
    Inscrit en
    Avril 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 52
    Par défaut
    merci pour ton aide...
    il me semblait bien que je devais faire un truc comme ca...cependant , je n'y arrive pas...si tu avais un exemple...un ptit bout de code peut etre qui pourrait m'aider ca serait cool...
    merci d'avance

  4. #4
    Membre averti Avatar de matzeus
    Inscrit en
    Avril 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 52
    Par défaut
    je pensais egalement a une autre solution car je n'arrivais pas a faire ce que tu me propose:
    c'etait de travailler non pas avec des Object[][] data et String[] columnName
    mais plutot avec des vecto[][] data et String[] columnName car je peux leur rajouter des elements choses que je ne peux pas faire avec les premiers...
    qu'en penses tu?
    de mon cote je prefererai appliquer ta solution...

  5. #5
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bon pour faire simple: les vector ne changeront rien dans le cas présent.

    Voilà un exemple de ce que tu dois utiliser (remplace le DefaultTableModel par un model en héritant ou tu n'auras pas redéfini les diverses surcharges de la méthode addColumn):

    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
     
     
    public class TestTable extends JFrame {
     
        public TestTable() {
            super("TestTable");
            final DefaultTableModel model = new DefaultTableModel();
            JTable table= new JTable(model);
            JScrollPane scroll = new JScrollPane(table);
            JButton button = new JButton("ajout");
            button.addActionListener(new ActionListener() {
     
                public void actionPerformed(ActionEvent arg0) {
                    // TODO Auto-generated method stub
                    String nomTable = JOptionPane.showInputDialog(null,"entrer le nom de la colonne");
                    model.addColumn(nomTable);
                }
     
            });
            this.add(scroll);
            this.add(button,BorderLayout.SOUTH);
            this.pack();
            this.setLocationRelativeTo(this.getParent());
            this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            this.setVisible(true);
        }
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            try {
                SwingUtilities.invokeAndWait(new Runnable(){
     
                    public void run() {
                        TestTable t = new TestTable();
     
                    }
     
                });
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (InvocationTargetException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
     
    }

  6. #6
    Membre averti Avatar de matzeus
    Inscrit en
    Avril 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 52
    Par défaut
    je suis desole mais je ne comprends pas...
    g un model qui extends AbstractTableModel.
    mais il faudrait qu'en fait, pour ce meme model au lieu d'ecrire
    class MonModel extends AbstractTableModel
    {}

    j'ecrive a la place
    classe MonModel extends DefaultTableModel
    {}
    ???????

    si je fais ca j'ai une erreur qui apparait...
    je ne vois pas comment je peux faire pour passer de l'un a l'autre....

    Je suis desole si je te semble lourd!! mais ca fait un moment que je suis dessus et je tourne en rond...

    merci d'avance pour ta reponse
    mat

  7. #7
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Ba il faut peut être penser à mettre à jour les imports nécessaires, sinon y'a rien à faire

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

Discussions similaires

  1. Ajout de colonnes : JTable depuis un AbstractModel
    Par OizO_ dans le forum Composants
    Réponses: 0
    Dernier message: 25/04/2012, 18h28
  2. Réponses: 0
    Dernier message: 13/04/2012, 17h57
  3. [JTable] ajouter une colonne spéciale
    Par minooo dans le forum Composants
    Réponses: 10
    Dernier message: 16/02/2009, 17h25
  4. Jtable ajouter des colonne
    Par toure32 dans le forum Composants
    Réponses: 6
    Dernier message: 21/06/2006, 09h15
  5. [JTable] ajouter une colonne de checkbox
    Par nawel dans le forum Composants
    Réponses: 3
    Dernier message: 04/05/2005, 14h07

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