Je veux Afficher la valeur de la cellule sélectionner dans un champ text

Signaler
Messages postés
74
Date d'inscription
lundi 29 août 2005
Statut
Membre
Dernière intervention
1 février 2012
-
Messages postés
74
Date d'inscription
lundi 29 août 2005
Statut
Membre
Dernière intervention
1 février 2012
-
Bonjour,je suis débutant en java, j'ai réussi à afficher les données de ma table à un jTable par code. et maintenant je pouvoir faire apparaitre la données dans un jTexfield lors je clic sur la colonne. Aider moi je ne sais pas comment faire. Merci d'avance

16 réponses

Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
362
Bonjour,

Lorsque tu cliques à quel endroit ? Lors du click sur la JTable ou sur un bouton fait exprès. Et qu'est ce que tu n'arrives pas à faire : afficher le texte ou bien tu ne sais pas dans quel listener écrite tes instructions ?

Essayes d'être un peu plus précis.
Messages postés
74
Date d'inscription
lundi 29 août 2005
Statut
Membre
Dernière intervention
1 février 2012

oui je ne sais pas dans quel listener ecris mes instructions
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
362
Et pour l'autre question, quelle action est ce que tu effectue avant d'afficher les données, tu sélectionnes dans la table ?
Messages postés
74
Date d'inscription
lundi 29 août 2005
Statut
Membre
Dernière intervention
1 février 2012

voici mon code que j'ai écris pour afficher les données dans un jTable:

public void RemplirTableFamilleProd() {
try {

Connection connect = Connexion.getConnection();

// Object[][] DD = {null};
Object[][] DD = {};
final String[] EE ={"Code","Libellé"};

DefaultTableModel model2 = new DefaultTableModel(DD, EE);
t = new JTable(model2);
t.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
//Empecher de deplace les colonnes
t.getTableHeader().setReorderingAllowed(false);
p=new JScrollPane(t);
//p.setBounds(10,120,910,550);
p.setBounds(100,150,243,250);
p.setAutoscrolls(true);
//Fixe les colonnes du tableau
t.getColumnModel().getColumn(0).setPreferredWidth(40);
t.getColumnModel().getColumn(1).setPreferredWidth(200);

getContentPane().add(p, BorderLayout.CENTER);

Statement requete=connect.createStatement();
ResultSet resultat = requete.executeQuery("select * from FAMILLE");

while (resultat.next()) {

model2.addRow(new Object []{resultat.getString(1),resultat.getString(2)});

}

}
catch(Exception e) { System.out.println("Exception"); }
finally {
try {con.close();}
catch(SQLException e) {e.printStackTrace();}}
}
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
362
Merci mais ca ne répond pas à ma question. Si tu n'essayes pas de faire un effort, tu n'auras pas de réponse !
Messages postés
74
Date d'inscription
lundi 29 août 2005
Statut
Membre
Dernière intervention
1 février 2012

Lorsque je clic sur une cellule de mon jTable ,je veux afficher le contenu de la cellule dans un jTextField. c'est ce que je n'arrive pas à faire sinon j'affiche le jTable avec le contenu sans problème
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
362
Regarde cet exemple, il te suffit de remplacer le sysout par les actions que tu souhaites effectuer http://www.java2s.com/Tutorial/Java/0280__SWT/AddDefaultTableSelectionListenerandGettheSelectedTableItem.htm

Si tu veux te simplifier la vie, tu peux créer un bouton qui te permet de remplir ton champ texte à l'aide de la sélection du tableau.
Messages postés
74
Date d'inscription
lundi 29 août 2005
Statut
Membre
Dernière intervention
1 février 2012

Merci. Mais une précision,je travail sous netbeans 7
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
362
Désolé, je t'ai donné un exemple en SWT, ce n'est pas ce que tu cherches.

JTable contient une méthode valueChanged appelée lorsque la selection des colonnes changent, il te suffit de réimplémenter cette méthode.

Voilà le fonctionnement :

DefaultTableModel mo = new DefaultTableModel(new Object[]{"t1", "t2", "t3"}, 0);
mo.addRow(new Object[]{"1", "2", "3"});
mo.addRow(new Object[]{"1", "2", "3"});
final JTable tab = new JTable(mo){
@Override
public void valueChanged(ListSelectionEvent e){
System.out.println(getSelectedRow());
}
};
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
362
NetBeans est ton ide, rien à voir avec le code que je te donne.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
362
A moins que tu utilises l'éditeur d'ihm et dans ce cas, je ne peux pas t'aider, je ne connais pas cet éditeur.

Par contre, tu dois pouvoir modifier le code de la même manière ???
Messages postés
74
Date d'inscription
lundi 29 août 2005
Statut
Membre
Dernière intervention
1 février 2012

merci beaucoup pour l'aide,je vais essayer d'adapter le code à mon projet
Messages postés
2113
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
En effet ;o) le programme ne depend pas de l ide ;o) ...
normalement tu n a pas besoin de toucher ('overrider') à la methode ... tu peux ecouter sur la selection ce qui semble etre ce dont tu as besoin !!??

Mais afficher une valeur de table dans un Field n a que peu d interet?!!! si c est pour éditer la valeur, l'editor apr défaut est deja un JTextField ;o) et c est plus intuitif de changer la valeur dans la table plutot que dans un champ déporté!! ;o) ...

GodConan ;o)
Messages postés
74
Date d'inscription
lundi 29 août 2005
Statut
Membre
Dernière intervention
1 février 2012

en fait,je veux faire en sorte que lorsque je clic sur mon jTable,chaque valeur de chaque cellule de la ligne apparaisse dans les jTextfield afin de pouvoir modifier.
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
362
Tu n'as pas besoin de l'afficher dans un autre JTextField, tu peux le modifier directement dans la JTable, pour celà, il faut que tu utilises un TableModel dans lequel tu définis la méthode isCellEditable(int row, int col) qui retourne toujours true.

Tu peux faire des recherches sur internet à ce sujet, tu trouveras certainement, si tu restes coincé, n'hésite pas à nous le dire
Messages postés
74
Date d'inscription
lundi 29 août 2005
Statut
Membre
Dernière intervention
1 février 2012

Merci beaucoup pour l'aide