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 :

Comment copier une ligne de JTable dans un autre JTable


Sujet :

Composants Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 102
    Points : 34
    Points
    34
    Par défaut Comment copier une ligne de JTable dans un autre JTable
    Bonjour à tous, voila, j'ai deux JTables A et B d'une colonne chacune, j'ai rempli A par les enregistrements contenus dans une des tables de ma BD, je voudrais arriver, lorsque je clique sur le bouton Ajouter de mon formulaire copier la valeur sélectionnée de ma Jtable A à la fin des lignes de ma JTable B. Pour cela j'ai crée un model, mais, je n'y arrive pas.voici mes codes :


    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
    private int colNo;
    private Object objects[];
    private Object obj;
    private javax.swing.JTable txtJtableRegDispo;
    private javax.swing.JTable txtJtableRegCharger;
    private DefaultTableModel aModel,bModel;
    obj=new Object[colNo];
    objects = new Object[colNo];
    txtJtableRegDispo = new javax.swing.JTable();
    txtJtableRegCharger = new javax.swing.JTable();
    String[] tableColumnsName1 = {"Liste des registres à charger"};
    bModel = new DefaultTableModel()
    String[] tableColumnsName = {"Liste des registres disponibles"};
    aModel = new DefaultTableModel() 
     
    public void ListeRegistre() { //Methode permettant de remplir ma JTable A.
            try {
                String Query = "SELECT * FROM registres ";
                Connection connection = (Connection) DataBaseConnector.getConnection();
                PreparedStatement ps = (PreparedStatement) connection.prepareStatement(Query);
                ResultSet rs = ps.executeQuery();
                ResultSetMetaData md = (ResultSetMetaData) rs.getMetaData();
                colNo = md.getColumnCount();
                while (rs.next()) {
                    objects = new Object[colNo];
                    for (int i = 0; i < colNo; i++) {
                        objects[i] = rs.getObject(i + 1);
                       // listDesRegistres.add( rs.getObject(i + 1));
                    }
                    aModel.addRow(objects);
                }
                txtJtableRegDispo.repaint();
     
            } catch (SQLException ex) {
                Logger.getLogger(FormChoixRegistre1.class.getName()).log(Level.SEVERE, null, ex);
            }
     
        }
    // ma methode du bouton ajouter
    private void CmdAjouterActionPerformed(java.awt.event.ActionEvent evt) {                                           
            // TODO add your handling code here:
            for(int i=1;i<txtJtableRegDispo.getRowCount();i++){
            if(txtJtableRegDispo.getSelectedRow()==i){
     
                    listDesRegistres.add(getValeur());
                    // obj[i] =getValeur();
                    // System.out.println(obj);
                }
            }
           // System.out.println(obj);
            for(int k=0;k<listDesRegistres.size();k++){
              obj[k+1] = listDesRegistres.get(k);
            }
               bModel.addRow(obj);      
        }
    Quoique je fasses j'ai toujours une exception du genre :
    Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 1

  2. #2
    Membre éprouvé Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Points : 934
    Points
    934
    Par défaut
    Salut !

    Je pense que ça serait utile de donner le texte complet de l'exception, ainsi que la ligne de code qui la déclenche...
    Peut-être que quelqu'un aura une idée.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 60
    Points : 49
    Points
    49
    Par défaut
    En examinant ton code je pense que cela vient de cette boucle :
    coolanso
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(int k=0;k<listDesRegistres.size();k++){
              obj[k+1] = listDesRegistres.get(k);
            }
    Quelle est la taille de ton listDesRegistres? Si c'est la meme taille que ton obj alors la taille de obj sera depasser car tu lui aura ajoute un element en trop!
    Le obj.add plus toute sa taille ce qui fait n+1 elements..

Discussions similaires

  1. [Batch] Comment écrire une ligne de commande dans un autre batch ?
    Par pierrot91000 dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 02/04/2011, 12h31
  2. [VBA]comment copier une ligne vers un autre classeur
    Par iboulaye1980 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/05/2007, 18h22
  3. comment copier une ligne d'un fichier à un autre
    Par debutant-1 dans le forum C
    Réponses: 14
    Dernier message: 26/06/2006, 21h01
  4. Comment lancer une ligne de commande dans un processus en Java.
    Par doyouknow56 dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 13/05/2006, 11h55
  5. [C#] Comment mettre une ligne en couleur dans mon DataGrid ?
    Par vandeyy dans le forum Windows Forms
    Réponses: 7
    Dernier message: 19/07/2004, 10h03

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