[Java] Ajouter une ligne a un Jtable

Ajouter une ligne a un Jtable [Java] - Java - Programmation

Marsh Posté le 10-02-2005 à 15:36:46    

Salut,  
    j'ai un jTable de 1 ligne au départ que je rempli petit a petit ligne par ligne donc en fait je voudrais que lorsque la 1ere ligne est pleine, pouvoir rajouter une 2eme ligne pour la remplir et ainsi de suite...
 
Sauf que je n'y arrive pas, je n'ai rien vu qui me permet d'ajouter une ligne sans devoir redéclarer tout le jTable avec une taille de +1 et donc effacer ce que j'y est deja insérer :/
 
Il n'existe pas une méthode addRow() ou dans le genre me permettant de faire ça ???
merci !!!

Reply

Marsh Posté le 10-02-2005 à 15:36:46   

Reply

Marsh Posté le 10-02-2005 à 15:40:57    

ce genre d'opérations se font sur le modèle, et non pas directement sur le widget.

Reply

Marsh Posté le 10-02-2005 à 15:41:34    

Reply

Marsh Posté le 10-02-2005 à 15:55:52    

Donc en fait je dois créer un Vecteur et ensuite je l'insere dans mon jTable ??

Reply

Marsh Posté le 10-02-2005 à 15:58:32    

Reply

Marsh Posté le 10-02-2005 à 16:09:09    

bof, la ils recréent un table model. Ca dépends de si tu en as besoin.
 
Dans le cas simple, tu fais un getModel() sur ta jtable, tu caste le model obtenu en DefaultTableModel, et tu appelles addRow().

Reply

Marsh Posté le 10-02-2005 à 20:14:56    

y'a eu un sujet là dessus récemment :  
-tu dois faire un tablemodel perso, et une méthode qui te permet de respécifier un tableau de tableau (tableau, arrylist, vector, comme tu veux), qui te sert de model, et de propager le changement via des tableChangedEvent


---------------
Jubi Photos : Flickr - 500px
Reply

Marsh Posté le 10-02-2005 à 21:27:53    

J'ai essayé ça :
 
 
DefaultTableModel modele3 = (DefaultTableModel)jTable2.getModel();  
       
             Vector vecteur = new Vector(4);
 
             Object[] obj = new Object[4];
             obj[0] = "salut";
             obj[1] = "bonjour";
             obj[2] = "hello";
             obj[3] = "ola";
 
             vecteur.add(obj);
             modele3.addRow(vecteur);
             jTable2.setModel(modele3);
             jTable2.repaint();
 
Mais ça ne fait apparement rien sur le tableau (ça doit etre normal lol)
Et la avec mon vecteur, est ce que ça va rajouter une ligne au tableau avec dans la 1ere case "salut", le 2eme "bonjour"... ???

Reply

Marsh Posté le 10-02-2005 à 21:30:40    

Si en fait ça ajoute bien une ligne mais ça ne rempli que la 1ere case de la nouvelle ligne avec : Ljava.lang.Object;@a7dd39, j'ai du me planter dans le code en tout cas merci !!!

Reply

Marsh Posté le 10-02-2005 à 21:46:25    

forcément.
tu lui file un vecteur contenant un objet (obj).
vire ton vecteur et fait le addRow sur ton Object[]

Reply

Marsh Posté le 10-02-2005 à 21:46:25   

Reply

Marsh Posté le 10-02-2005 à 21:46:48    

Jubijub a écrit :

y'a eu un sujet là dessus récemment :  
-tu dois faire un tablemodel perso, et une méthode qui te permet de respécifier un tableau de tableau (tableau, arrylist, vector, comme tu veux), qui te sert de model, et de propager le changement via des tableChangedEvent


je crois qu'il n'a pas encore besoin d'aller jusque la [:joce]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed