Lire les donnees de jFrame 1 a partir de jFrame 2

nesrine18 Messages postés 29 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 15 avril 2010 - 17 mars 2010 à 15:28
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 23 mars 2010 à 13:39
bonjour à tous,
pouvez vous m'aider a lire des données de jFrame1 à partir d'une jFrame2 ?
merci de m'aider..

9 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
17 mars 2010 à 15:52
Salut,

Soit plus précis dans tes questions si tu veux des réponses : quel type de données ? Comment elles sont stockées ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
nesrine18 Messages postés 29 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 15 avril 2010
17 mars 2010 à 16:43
merci pour la réponse,
alors,je serais plus claire: les donneés sont stockées dans un jTextField qui se trouve dans le jFrame 1,et je veux les lire a partir de jFrame2
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
17 mars 2010 à 16:45
Salut,

Il te suffit de faire un getter dans ta classe JFrame1 :
public String getValeur() {
  return tonJTextField.getText();
}


et tu n'as plus qu'à l'appeler à partir de ton instance de JFrame1 dans ta JFrame2
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
nesrine18 Messages postés 29 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 15 avril 2010
22 mars 2010 à 10:39
bonjour,
j'ai essayer de le faire mais il me donne une erreur "non-static variable jTextField1 "
que dois-je faire?
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
22 mars 2010 à 10:56
Salut,

Mon ton code, car avec le bout de code que je t'ai donné, tu ne devrais pas avoir de static nulle part.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
nesrine18 Messages postés 29 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 15 avril 2010
22 mars 2010 à 11:10
d'accord,
le code dans mon jFrame1 est:

public class frame1 extends javax.swing.JFrame {
public frame1() {

initComponents();
}

public String getValeur() {
return jTextField1.getText();
}
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {

}

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {

new frame2().setVisible(true);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new frame1().setVisible(true);
}
});
}
private javax.swing.JButton jButton1;
public javax.swing.JTextField jTextField1;
}



et dans mon jFrame2

public class frame2 extends javax.swing.JFrame {
public frame2() {
initComponents();
}
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {

String str;
str = frame1.jTextField1.getText();
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new frame2().setVisible(true);
}
});
}


private javax.swing.JButton jButton1;
private javax.swing.JTextField jTextField1;
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
22 mars 2010 à 11:19
Salut,

Apparement tu n'as pas compris ce que je t'ai expliqué : je t'ai dit de passer par le getter pour récupérer la valeur du JTextField, pas par le JTextField lui même...

Donc ca donne un truc du genre :
public class FrmPrincipale extends javax.swing.JFrame {  // METTRE UNE MAJUSCULE à la première lettre du nom d'une classe !
public FrmPrincipale() { 
initComponents(); 
} 

public String getValeur() { 
return txtValeur.getText(); 
} 

private void btnOuvrirMouseClicked(java.awt.event.MouseEvent evt) { 
new FrmSecondaire().setVisible(true); 
} 
public static void main(String args[]) { 
java.awt.EventQueue.invokeLater(new Runnable() { 
public void run() { 
new FrmPrincipale().setVisible(true); 
} 
}); 
} 
private javax.swing.JButton btnOuvrir; /* jButton1; Renommer les variables : c'est illisible */
public javax.swing.JTextField txtValeur; /* jTextField1; Renommer les variables : c'est illisible */
} 


public class FrmSecondaire extends javax.swing.JFrame { 
public FrmSecondaire(JFrame parent) { 
initComponents();
this.parent = parent; 
} 
private void btnRecupererValeurMouseClicked(java.awt.event.MouseEvent evt) { 
String str = parent.getValeur(); // on appelle le getter sur la fenêtre parent
} 
} 

private JFrame parent;
private javax.swing.JButton btnRecupererValeur; /* jButton1; Renommer les variables : c'est illisible ! */
private javax.swing.JTextField txtValeur; /* jTextField1; Renommer les variables : c'est illisible !*/


Tu l'auras compris : l'utilisation d'un editeur graphique pour construire des IHM produit un code lamentable, illisible, et fais plus perdre de temps qu'autre chose...
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
nesrine18 Messages postés 29 Date d'inscription mercredi 24 février 2010 Statut Membre Dernière intervention 15 avril 2010
23 mars 2010 à 11:15
merci,
mais ça n'a pa marché..j'ai essayer de faire une instance dans jFrame2 de la jFrame1..ça marche mais pour une chaine de caractère que je met par défaut dans mon programme..mais moi je veux qu'il lit n'importe quelle donnée que je met dans le jTextFiled..comment dois je faire?
merci d'avance
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
23 mars 2010 à 13:39
Salut,

C'est que j'ai fait une erreur dans mon code, mais franchement, si tu avais compris le principe, tu l'aurais corrigée toi même... essaye de comprendre un minimum ce qu'on te dit, sinon tu n'apprendras rien et tu resteras toujours débutant !

public class FrmPrincipale extends javax.swing.JFrame {
public FrmPrincipale() { 
initComponents(); 
} 

public String getValeur() { 
return txtValeur.getText(); 
} 

private void btnOuvrirMouseClicked(java.awt.event.MouseEvent evt) { 
new FrmSecondaire(this).setVisible(true); // j'avais oublié le this
} 
public static void main(String args[]) { 
java.awt.EventQueue.invokeLater(new Runnable() { 
public void run() { 
new FrmPrincipale().setVisible(true); 
} 
}); 
} 
private javax.swing.JButton btnOuvrir;
public javax.swing.JTextField txtValeur;
} 


public class FrmSecondaire extends javax.swing.JFrame { 
public FrmSecondaire(JFrame parent) { 
initComponents();
this.parent = parent; 
} 
private void btnRecupererValeurMouseClicked(java.awt.event.MouseEvent evt) { 
String str = parent.getValeur();
} 
} 

private JFrame parent;
private javax.swing.JButton btnRecupererValeur;
private javax.swing.JTextField txtValeur;

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0