Récuperer variable d'une autre frame en java

amine_marc Messages postés 286 Statut Membre -  
amine_marc Messages postés 286 Statut Membre -
Désolé , je suis débutant en java, :(
j'ai un deux Jframe: Jframe1 contient une zone de texte (adresse) et un bouton de validation (valider), et JFrame2 fait des traitement en s'appuyant sur le contenu de "adresse".

Je voudrais savoir comment récupérer la valeur de adresse dans Jframe2

Veuillez me dire comment faire ça, et merci d'avance ^^
cordialement
A voir également:

3 réponses

amine_marc Messages postés 286 Statut Membre 2
 
j'au déclaré une fct dans Jframe1:

public String getAdresse()
{
adresse = adrIp.getText();
return adresse;
}


et j'ai le code suivant dans Jframe2:

String adr = new Jframe1().getAdresse();
adr2.setText(adr);
0
amine_marc Messages postés 286 Statut Membre 2
 
mais auccun résultat
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Voici un exemple :

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;

public class Test
{
  public static void main(String[] args)
  {    
    // Frame 1
    
    final JFrame frame1 = new JFrame();
    
    final JTextArea text1 = new JTextArea("Texte");
    frame1.add(text1,BorderLayout.NORTH);
    
    final JButton button = new JButton("Bouton");
    frame1.add(button,BorderLayout.SOUTH);
    
    frame1.pack();
    frame1.setVisible(true);
    frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    // Frame 2
    
    final JFrame frame2 = new JFrame();
    
    final JTextArea text2 = new JTextArea();
    frame2.add(text2);
    
    frame2.pack();
    frame2.setVisible(true);
    frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    // Listeners
    
    button.addActionListener(new ActionListener()
    {
      public void actionPerformed(ActionEvent e)
      {
        text2.setText(text1.getText());
      }
    });
  }
}
0
KX Messages postés 19031 Statut Modérateur 3 020
 
Même chose, mais avec des classes :

package p2;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;

class Fenetre1 extends JFrame
{
    private static final long serialVersionUID = 1;
    
    final JTextArea text1;
    final JButton button;
    
    public Fenetre1()
    {
        text1 = new JTextArea("Texte");
        add(text1,BorderLayout.NORTH);
        
        button = new JButton("Bouton");
        add(button,BorderLayout.SOUTH);
        
        pack();
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

class Fenetre2 extends JFrame
{
    private static final long serialVersionUID = 1;
    
    final JTextArea text2;
    
    public Fenetre2(final Fenetre1 f1)
    {
        text2 = new JTextArea();
        add(text2);
        
        f1.button.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                text2.setText(f1.text1.getText());
            }
        });
        
        pack();
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

public class Test
{
    public static void main(String[] args)
    {        
        Fenetre1 f1 = new Fenetre1();
        Fenetre2 f2 = new Fenetre2(f1);
    }
}
0
amine_marc Messages postés 286 Statut Membre 2
 
Merci boucoup KX ^^, je vais essai votre code :)
0