Afficher une ligne JTable dans JTextField [Résolu]

Signaler
Messages postés
22
Date d'inscription
lundi 9 avril 2012
Statut
Membre
Dernière intervention
11 juin 2012
-
 Abdillahi omar -
Bonsoir tout le monde ; je suis debutante en java j'essaie de faire une tite application Gestion de Carte...donc voilà j'ai pu afficher une table de ma BDD ds un JTable et là je voudrais faire ceci: en cliquant sur une ligne de JTable l'enregistrement (ses champs)s'affiche dans des JTextField. j'espère avoir été claire. Merci d'avance.

9 réponses

Messages postés
22
Date d'inscription
lundi 9 avril 2012
Statut
Membre
Dernière intervention
11 juin 2012
10
Bonjour les programmeurs, j 'ai affiché mes champs de la ligne selectionné dans des JTextField en procédant comme ceci:

Objet numC=null;
numC=table.getValueAt(table.getSelectedRow(),0);//récupération de la colonne o
jtf10.setText(rech.numC.toString());//affichage de la colonne 0 dans JTextField


Merci infiniment à vous. bonne aprem

je vous remercie énormément programmeur

Salut.

Alors je te conseille de jeter un coup d'oeil du côté des Listeners. Ils te permettront de récupérer sur certains objets des évènements comme des clics. De cette façon, tu peux récupérer la valeur de ta cellule selectionnée et l'affecter à ton JTextField (via setText() de mémoire).

Si tu as des questions, n'hésite pas.

--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
Messages postés
600
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
8 juillet 2016
11
Je confirme, le setText(...) te permettra de remplir tes JTextField.
Concernant la sélection de la ligne dans ta table, je confirme aussi la réponse de Pylouq et t'oriente vers les ListSelectionListener du ListSelectionModel (accessible via la méthode getListSelectionModel() de la jtable)
Messages postés
22
Date d'inscription
lundi 9 avril 2012
Statut
Membre
Dernière intervention
11 juin 2012
10
Bonsoir tout le monde; merci pour les réponse je vais essayer de me documenter sur ce que vous venez de me conseiller merci encore une fois
Messages postés
22
Date d'inscription
lundi 9 avril 2012
Statut
Membre
Dernière intervention
11 juin 2012
10
Bonsoir tout le monde; après une tite recherche j'ai pu afficher les champs de la ligne sélectionnée dans la console mais pas des mes JTextField voilà comment j'ai procédé

System.out.println( table.getValueAt(table.getSelectedRow(),0));//pour la 1ère colonne
Messages postés
23
Date d'inscription
mercredi 10 août 2011
Statut
Membre
Dernière intervention
1 novembre 2012

LE@DEBUTANT bonsoir si t'a reussi a afficher les resultat sur la console tu peu le faire avec les JTextField c'est plus facile.
procede comme suit.
exemple:
JTextField1.setText(table.getValueAt(table.getSelectedRow(),0));//pour la 1ere colone
jtextField2.setText(table.getValueAt(table.getSelectedRow(),1));//pour la 2eme et aisi de suite........

Passe ton sujet résolu dans ce cas en cliquant sur "Réponse acceptée".



--
Pylouq
(Lire le Réglement n'a jamais tué personne, au pire ça a instruit des gens.)
Après une recherche exhaustive, j'ai enfin trouvé la solution

le code doit être écrit sous JTable en lui affectant l'event "jTable1MouseClicked" (en cliquant droit par la sourie), et tu fait établir la connection avec votre table. Enfin voilà le code :

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try{

String Table_click;
Statement s;
ResultSet rs;
Operation op = new Operation();
Connection con = op.conect();
int row = jTable1.getSelectedRow();

Table_click = (jTable1.getModel().getValueAt (row, 0).toString());

s = con.createStatement();
rs = s.executeQuery("select * from article where Code_Article= '" + Table_click + "'");
if(rs.next()){

String add1 = rs.getString("Code_Article");
jTextField1.setText(add1);

String add2 = rs.getString("Designation");
jTextField3.setText(add2);

String add3 = rs.getString("Quantite");
jTextField4.setText(add3);

String add4 = rs.getString("Position");
jTextField5.setText(add4);

String add5 = rs.getString("Categorie");
jTextField6.setText(add5);

String add6 = rs.getString("Inventaire");
jTextField7.setText(add6);

String add7 = rs.getString("Etat");
jTextField8.setText(add7);

}

}catch(Exception e) {

JOptionPane.showMessageDialog(null, e);
}


}
private void applyTableFilter(String filterText) {
// On escape le texte afin que son contenu ne soit pas considéré comme
// une regexp
String escapedFilterText = Pattern.quote(filterText);
// On ajoute les wildcards a gauche et a droite
String completeFilterText = ".*" + escapedFilterText + ".*";
// On applique le filtre a la JTable
((DefaultRowSorter) jTable1.getRowSorter())
.setRowFilter(RowFilter.regexFilter(completeFilterText));
}

Pour plus d'information voilà un tutoriel vidéo qui va certainement vous aider : http://www.youtube.com/watch?v=QQFgxQ-B8ag

Salut,

Évite de déterrer de vieux sujets stp.


--
Pylouq
Heureux sont ceux qui lisent le Réglement, ils ne finiront peut-être pas au bûcher.