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 :

Récupérer ligne JTable


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 Récupérer ligne JTable
    Bonjour à tous,
    J'ai un petit souci avec une jTable
    Mon problème :
    Après la saisie d'une ligne entière, je clique sur un bouton pour valider. Cependant, le dernier champs que j'ai rempli n'est pas pris en compte (je récupère sa valeur dans une variable, dans mon cas, je ne recupère rien).
    Le dernier champs ainsi saisi reste entouré en gras et c'est comme si je n'avais rien rentré dedans.
    Je dois obligatoirement cliquer sur une autre case de mno jTable pour valider la valeur.
    Comment peut-on y remedier, faire en sorte que la valeur soit prise en compte dès son entrée dans la cellule (ou avec l'utilisation d'une méthode au tout debut de ma fonction lancée par mon bouton)
    Merci d'avance.

    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
     
     
    jButton4.addActionListener(new java.awt.event.ActionListener() {
    				public void actionPerformed(java.awt.event.ActionEvent e) {
    					try {
     Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); 
      String url= "jdbc:odbc:caution";
         String user = "user"; 
         String pass = "pass";
     Connection connection = DriverManager.getConnection (url, user, pass);
    Statement instruction = connection.createStatement();
    for (int j = 0; j <jTable1.getRowCount(); j++) {
    jTable1.getModel().getValueAt(j, 1);
    int n = instruction.executeUpdate("INSERT INTO lot(numlot,désignation )VALUES ('"+jTable1.getModel().getValueAt(j, 0)+"','"+jTable1.getModel().getValueAt(j, 1)+"'  ) ");			 
      }
      }catch (Exception ex) {
      ex.printStackTrace() ;
    										        }}
     
    			});
    		}
    		return jButton4;
    	}
    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
     
     
    private JTable getJTable1() {
    if (jTable1 == null) {
    tableModel = new DefaultTableModel(donnees, titreColonnes);
    jTable1 = new JTable(tableModel){
     public boolean isCellEditable(  int rowIndex,  int vColIndex){
     return true;
      }
    }
    ; 
     
    jTable1.setBackground(Color.orange);
    jTable1.setIntercellSpacing(new Dimension(2, 1));
    jTable1.setRowHeight(24);
    jTable1.setLocation(new Point(2, 0));
    jTable1.setFont(new Font("Arial", Font.PLAIN, 14));		    
    jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
     jTable1.getColumnModel().getColumn(0).setPreferredWidth(120);
     jTable1.getColumnModel().getColumn(1).setPreferredWidth(320);
     
    }
    return jTable1;	}

  2. #2
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut
    Bonjour,

    il semble qu'au moment où commence le traitement de l'évènement du jButton4, votre JTable n'a pas eu le temps de traiter la prise en compte de l'entrée du dernier élément.

    Essayez peut être de forcer la mise à jour de la table, à l'entrée de l'évènement de bouton, avant de poursuivre...

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut
    mais ça fonctionne pas cette methode je veux bien que ça marche

  4. #4
    Membre Expert Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 343
    Par défaut
    Pouvez-vous préciser quelle méthode ne fonctionne pas ?
    Avez-vous pensé à faire un fireTableRowsInserted(...); ou un fireTableRowsUpdated(...); ?

Discussions similaires

  1. JTable - Récupérer ligne/ListSelectionListener
    Par Grulf dans le forum Composants
    Réponses: 12
    Dernier message: 18/07/2008, 16h47
  2. Coloration de certaines lignes jTable
    Par lhpp dans le forum Composants
    Réponses: 13
    Dernier message: 07/11/2006, 20h26
  3. [VB.NET] Récupérer ligne cliquée datagrid
    Par Pleymo dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/08/2006, 03h30
  4. suppression ligne JTable
    Par matzeus dans le forum Composants
    Réponses: 3
    Dernier message: 20/06/2006, 11h17
  5. récupérer ligne date maximum
    Par StIcK dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/01/2006, 01h51

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