Comment exporter le texte entre deux zone de texte de deux frames différente

Résolu
Beberto56 Messages postés 119 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 22 décembre 2008 - 15 mai 2008 à 14:51
Beberto56 Messages postés 119 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 22 décembre 2008 - 19 mai 2008 à 08:46
Bonjour,

j'ai réalisé deux formulaires de saisie sur deux  jFrame différentes  se trouvant dans le même répertoire avec netbeans.  Ces deux formulaires ayant des correspondances  je voudrais que lorsque je rentre une  information dans  une zone de texte de la frame 1  elle se  s'écrivent également dans la zone de texte  correspondante de la deuxième frame.
Si quelqu'un pourrais me donner une solution je lui en serais reconnaissant. 
Je n'arrive pas à déclarer les composant en public et le private jTextField m'empêche de m'en servir en dehors de ma frame???.....

Merci d'avance.

Julien.

7 réponses

cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 18
15 mai 2008 à 16:28
Salut,

disons qu'on a deux objets "formulaires" formSource (Classe FormSource) et formDestination
(Classe FormDestination)
qui contiennent resp. une zone de texte source txtSource et une zone de texte destination txtDestination..

Pour agir de la façon que tu décris, il faut bien sûr que les deux form soient instanciés, et que formSource possède une référence vers formDestination.. Il te suffit dans ces conditions d'avoir une méthode ecrire(String texte) dans la classe FormDestination appelée à chaque modification de la zone de texte txtSource, et qui agira sur txtDestination..

Voilà, j'espère avoir été clair : il te reste de coder ce que je viens de réciter
3
amine1234Z Messages postés 134 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 31 mai 2010 4
15 mai 2008 à 22:43
Salut

a mon avis comme chatbour a dit:
disons qu'on a deux objets "formulaires" formSource (Classe FormSource) et formDestination (Classe FormDestination) qui contiennent resp. une zone de texte source txtSource et une zone de texte destination txtDestination..
aprés cree une variable globaledansformDestination
 public String popo= "";
dans formSource et dans laction performed de votre button qui va te transmetre vers formDestination fait :
{
String pipi = txtSource .getText();
formDestination frm = new formDestination ();
frm.popo.setText(pipi);
}
et dans formDestination et dans linistialisation de votre classe fait:
 txtDestination.setText(popo);

voila

bon courage

% Mauvais Sens %
3
amine1234Z Messages postés 134 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 31 mai 2010 4
15 mai 2008 à 22:46
désole je suis un peu fatigué voila coriger le code par celui là  :

 public String popo= "";
dans formSource et dans laction performed de votre button qui va te transmetre vers formDestination fait :
{
String pipi = txtSource .getText();
formDestination frm = new formDestination ();
frm.popo =pipi;// l'erreur
}
et dans formDestination et dans linistialisation de votre classe fait:
 txtDestination.setText(popo);

% Mauvais Sens %
3
Beberto56 Messages postés 119 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 22 décembre 2008
16 mai 2008 à 11:23
Merci pour ton code mais sa ne fonctionne pas je pense que sa vient de l'initialisation des composant???

Est ce que cela fonctionne ché toi??

Julien^^
3

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

Posez votre question
Beberto56 Messages postés 119 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 22 décembre 2008
16 mai 2008 à 15:54
Voila le programme exact que j'ai codé :

formSource:

package javaapplication21;
public class formSource extends javax.swing.JFrame {
public String text2;   
    public formSource() {
            initComponents();            
            }

            private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        

                new formDestination().setVisible(true);
                formDestination frmD = new formDestination();
                text2 = txtSource.getText();
                frmD.text1 = text2;
    }
...+MAIN

formDestination:

package javaapplication21;
public class formDestination extends javax.swing.JFrame {

    public String text1;
   
    public formDestination() {
       
        initComponents();      
        txtDestination.setText(text1);   
    }
... + MAIN

Avec ce code cela ne fonctionne pas quand j'appuis sur le bouton de la formSource afin de passer à la formDestination je change de form mais la zone de texte de la formDestination ne récupère pas le texte saisie dans la formSource.

Si vous pouvez me dire ce qui ne va pas svp???
3
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 18
16 mai 2008 à 17:51
Re,

Voilà un exemple :

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class FormSource extends JFrame {
    private JTextField txtSource = new JTextField(20);
    private FormDestination formDest = new FormDestination();

        public FormSource() {
            JPanel p = new JPanel();
            p.add(txtSource);
            this.getContentPane().add(p, BorderLayout.SOUTH);

            this.setSize(300, 200);
            this.setLocationRelativeTo(null);
            this.setVisible(true);
           
            // Ajout de l'écouteur sur txtSource
            txtSource.addKeyListener(new KeyAdapter() {
                public void keyPressed(KeyEvent evt) {
                    formDest.remplir_txtDestination(txtSource.getText());
                }
            });
        }
}
   

class FormDestination extends JFrame {
    private JTextField txtDestination = new JTextField(20);

    public FormDestination() {
        JPanel p = new JPanel();
            p.add(txtDestination);
            this.getContentPane().add(p, BorderLayout.SOUTH);

            this.setSize(300, 200);
            this.setVisible(true);
    }
   
    public void remplir_txtDestination(String chaine) {
        txtDestination.setText(chaine);
    }
       
}

// Classe de test
public class Fenetre {
    public static void main(String[] args) {
        new FormSource();
       
    }
}
3
Beberto56 Messages postés 119 Date d'inscription mardi 8 avril 2008 Statut Membre Dernière intervention 22 décembre 2008
19 mai 2008 à 08:46
Re à tous les deux,

je vous remerci pour les informations que vous m'avez transmis elles m'ont permissent de comprendre plein de chose. La solution de Chatbour est la bonne et tes informations amine m'ont également beaucoup aidée.

A plus et encore merci.

Julien
0
Rejoignez-nous