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 d'une ligne à une JTable à partir d'une autre JTable


Sujet :

Composants Java

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 112
    Points : 72
    Points
    72
    Par défaut Ajout d'une ligne à une JTable à partir d'une autre JTable
    Bonjour,
    j'essaie d'ajouter une ligne sélectionné d'un jTableB à un autre jTableA mais j'arrive pas.
    j'ai un jframe Principale contient un jtableA et bouton Ajouter.
    La bouton Ajouter permet d'afficher un Jframe Secondaire qui contient lui meme un jtableB et bouton Valider.
    La Boutton Valider contient le code d'ajout d'un ligne selectionné de jtableB à l'autre jtableA.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Principale  P =  new Principale();
    int i = jTableB.getSelectedRow(); 
    Object a = jTableB.getValueAt(i, 0);// recuperer le contenu de la selection 
    DefaultTableModel roleModel = (DefaultTableModel) P.jTableA.getModel();
    il n'accept pas la methode de addRow
    c'est un erreur

    Aidez-moi SVP et merci

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Normal, la méthode addRow attends soit :

    - un Object[]
    - Vector

    (voir ici)

    or toi tu essayes de lui passer un seul element de type Object.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 112
    Points : 72
    Points
    72
    Par défaut
    Merci pour votre réponse
    Vous avez une autre solution concernant mon problème?

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Je n'ai pas bien dut saisir le problème.

    Est-ce que c'est l'équivalent de ceci que tu espère faire :

    C'est a dire, copier une ligne entière (celle ou un cellule est sélectionnée) d'un tableau source et la rajouter dans le tableau de destination ?

    Si oui, ce code devrait normalement fonctionner dans ce cas, ce n'est que l'application de ce que j'ai dit plus haut. Ce n'est pas le plus propre mais ca fonctionnera.

    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
    JTable jTableSrc = null; // LE tableau source d'ou il faut copier une ligne
    JTable jTableDst = null; // Le tableau destination.
     
    // Numero de la ligne selectionnée en A
    int ligne = jTableSrc.getSelectedRow();
    // Crée un objet pour contenir toutes les colonnes de la ligne du tableau source
    Object [] linetoadd = new Object[jTableSrc.getColumnCount()];
    for (int i = 0; i < jTableSrc.getColumnCount(); i++) {
    	// Assigne la valeur dans la case du tableau.
    	linetoadd[i]=jTableSrc.getValueAt(ligne, i);
    }
     
    DefaultTableModel roleModel = (DefaultTableModel) jTableDst.getModel();
    // Rajoute la ligne dans le tableau destination
    roleModel.addRow(linetoadd);
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 112
    Points : 72
    Points
    72
    Par défaut
    Bonjour,
    merci pour votre réponse et désolé pour le retard,
    votre méthode ça marche à condition que tu vas afficher le tableau Dst par la suite c-a-d on utilise par exmple .
    mon problème est différent : je dois pas utiliser l'option .show() car mon tableau destination est déjà affiché.
    vous trouverez c-joint une image pour bien comprendre mon problème.
    - Le Bouton Valider de jframe Principale contient un code pour afficher le deuxième jframe.- Le bouton Ajouter de la jframe secondaire contient le code qui va faire l'ajouter de ligne du tableau B vers le tableau A.
    NB : Le jframe principale est toujours ouvert c-a-d pour chaque sélection dans le tableau B et un clic sur Ajouter , ce ligne sélectionné va être ajouter dans le tableau A.
    Exemple : Si je clic sur la première ligne ( 1 , AAA) du tableau B et je clic sur Ajouter , cette ligne doit être automatiquement affiché dans le tableau A.
    Images attachées Images attachées  

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/08/2012, 10h24
  2. Supprimer une ligne via macro à partir d'une colonne donnée
    Par muzele dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/06/2012, 10h47
  3. Sélections de lignes dans un JTable à partir d'une action
    Par CSI_Bern dans le forum Composants
    Réponses: 5
    Dernier message: 28/03/2012, 14h57
  4. [JTable] Ajouter une écoute sur le bord d'une ligne
    Par GlamIS dans le forum Composants
    Réponses: 0
    Dernier message: 03/08/2011, 17h37
  5. Effacer le contenu d'un fichier a partir d'une ligne
    Par localhost dans le forum Linux
    Réponses: 3
    Dernier message: 04/04/2004, 04h47

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