begin process at 2010 02 09 19:18:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Au secours

 > 

passer des paramètres entre deux Frames


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

passer des paramètres entre deux Frames

vendredi 20 mai 2005 à 17:00:55 | passer des paramètres entre deux Frames

Dedeloux

Salut !!!
J'ai un gros problème (petit diront certains !!) je voudrais passer des paramètres entre deux frames mais je n'y arrive pas bien sur. Explications :  J'ai une classe modifier_personne dans laquelle j'affiche les champs d'une base de données oracle. Je peux modifier ces champs Pour enregistrer les modifications, je clique sur un bouton modifier. J'ouvre un boite de dialogue OK/ Annuler. Je veux que quand je clique sur ok, les champs modifiés s'enregistrent dans la base de données. Mon problème c'est que je n'arrive pas à récupérer ces champs puisque que je ne suis plus sur la frame modifier_personne... Enfin voilà, j'espère que vous comprenez mon problème.
Pour vous aider voici un bout de code :

public class modifier_personne extends JFrame implements ItemListener{
 Choice tf = new Choice ();
 public JTextField num =new JTextField();
 JTextField nom =new JTextField();
 JTextField prenom =new JTextField();
 JTextField mail =new JTextField();
 Vector tab = new Vector();
 JButton btmodifp = new JButton("Modifier");

public  modifier_personne (){
  
   Connection con ;
   String temp= new String();  
   setBounds (100,100,500,500);
   tf.addItemListener((ItemListener) this);
   getContentPane().setLayout((new GridLayout (8,2))); 
   getContentPane().add((new JLabel("Sélectionner une personne :")));
   getContentPane().add(tf );
   getContentPane().add((new JLabel("Numéro : ")));
   getContentPane().add(num);
   getContentPane().add((new JLabel("Nom : ")));
   getContentPane().add(nom);
   getContentPane().add((new JLabel("Prénom : ")));
   getContentPane().add(prenom);
   getContentPane().add((new JLabel("Adresse mail : ")));
   getContentPane().add(mail);
   getContentPane().add((new JLabel(" ")));
   getContentPane().add((new JLabel(" ")));
   getContentPane().add((new JLabel("Valider changements : ")));
   getContentPane().add(btmodifp);

btmodifp.addActionListener(
      new ActionListener(){
       public void actionPerformed (ActionEvent e){
        String num1 = new String();
        String nom1 = new String();
        String prenom1 = new String();
        String mail1 = new String();
        
        num1= new Integer(((resultat) tab.elementAt(tf.getSelectedIndex())).num).toString();
        nom1 = nom.getText();
        prenom1 = prenom.getText();
        mail1 = mail.getText();
        new boitedialogue(num1,nom1,prenom1,mail1).show();
        setVisible(false);
             
       }
      }
     );


public class boitedialogue extends JDialog implements ActionListener{

 public String g_num = new String();
 String g_nom =new String();
 String g_prenom =new String();
 String g_mail =new String();
 
 Frame getFrame() { // récupération de la frame parente
 //modifier_personne.this.getNom();

      Component component=this;

      do{

         component=component.getParent();

      } while(!(component instanceof Frame));

      return (Frame)component;

   } 
 
 boitedialogue(String num,String nom, String prenom, String mail){
  
  this.g_num= num;
  this.g_nom =nom;
  this.g_prenom =prenom;
  this.g_mail =mail;
  //System.out.println(this.g_num+this.g_nom +this.g_prenom);
     JOptionPane bd = new JOptionPane();
        int retour = JOptionPane.showConfirmDialog(getFrame(),"Confirmer les changements ?","Confirmation",JOptionPane.OK_CANCEL_OPTION);      
    
 }

 /* (non-Javadoc)
  * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
  */
 public void actionPerformed(ActionEvent e) {
  // TODO Auto-generated method stub
  if("ok".equals(e.getActionCommand())){
   
   Connection con ;
   
   try {
    System.out.println(boitedialogue.g_num+boitedialogue.g_nom + boitedialogue.g_prenom);
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    con = DriverManager.getConnection("jdbc:oracle:thin:@172.16.1.17:1521:bdoracle","lehouxa","audrey");
    //System.out.println("Connection réussie");
    Statement stmt = con.createStatement();
       ResultSet rset = stmt.executeQuery("Update Adresse_mail set nom='"+g_nom+"',prenom='"+g_prenom+"', adresse='"+g_mail+"' where num='"+g_num+"' "); 
   }
       catch(SQLException e1){
     System.out.println("SQLException"+e1);
    }
    catch(Exception e2){
     System.out.println("Exception"+e2);
     //e2.printStackTrace();
    }

  }

 }

}

Voilà,voilà...
Merci à ceux qui auront une petite idée pour m'aider (et autres aussi lol !!)

vendredi 20 mai 2005 à 20:09:25 | Re : passer des paramètres entre deux Frames

hades5

Réponse acceptée !
Salut,
juste une petite suggestion... pourquoi tu n'utiliserais pas ta boite de dialogue pour juste
demander une confirmation des modifications apportées sur les champs de la classe
modifier_personne ? ....

Autrement, tu crées des valeurs null dans ton instruction SQL ( ..ResultSet rset = stmt.executeQuery("Update Adresse_mail set nom='"+g_nom+"',prenom='"+g_prenom+"', adresse='"+g_mail+"' where num='"+g_num+"' ");
Si tu regardes bien tu dis #### ..g_nom ; g_prenom etc... ces méthodes quand tu les appelles,
elles font ce que tu leur demandes de faire c'est-à-dire, créer un autre object ( new String () ;

Voici les modifications que tu devrais apporter ....

public class boitedialogue extends JDialog implements ActionListener{  public String g_num = new String();
 String g_nom =  "" ; // new String();
 String g_prenom = "" ; // new String();
 String g_mail = "" ; // new String();
.......

JOptionPane bd = new JOptionPane();
        int retour = JOptionPane.showConfirmDialog(getFrame(),"Confirmer les changements ?","Confirmation",JOptionPane.OK_CANCEL_OPTION);     

// condition à ajouter après le bloc si-dessus

if ( retour == 1 ) // je crois que c'est la valeur correspondant à "OK" à vérifier car je suis loin de chez moi actuellement.
{
    Cette fois tu peux vérifier tes variables ont les valeurs initialisées par ton constructeur de classe
si-dessous, je l'ai mis en commentaires
    /*boitedialogue(String num,String nom, String prenom, String mail){
  
      this.g_num= num;
      this.g_nom =nom;
      this.g_prenom =prenom;
      this.g_mail =mail;   */


ici tu continues tes instructions SQL
}

Bon courage

Hadès
vendredi 20 mai 2005 à 22:13:40 | Re : passer des paramètres entre deux Frames

GodConan

GRRRRRRRRRRRRR et les majuscule sur les nom de class ...........

GodConan
vendredi 20 mai 2005 à 22:15:55 | Re : passer des paramètres entre deux Frames

GodConan

utilise les convention d ecriture java ce sera bcp agreable pour les autres à corrigé la je doit dire que au bout de 2 lignes ca m agace ;-(
pas de majuscule  des '_'  on dirai un utilisateur MFC ;o) ....

++

GodConan
mercredi 25 mai 2005 à 10:14:49 | Re : passer des paramètres entre deux Frames

Dedeloux

En fait il faut juste remplacer la ligne : if (retour = = 1) par if (retour = = JOptionPane.OK_OPTION) et ça marche. Merci beaucoup pour ton aide Hadès.


Cette discussion est classée dans : string, add, num, prenom, getcontentpane


Répondre à ce message

Sujets en rapport avec ce message

KeyListener KeyDown-->Drecated -->processKeyEvent [ par bibe ] Bonjour tout le monde,j'arrive à écouter les KeyEvent avec "KeyDown", qui est deprecated, alors j'essais de mettre "processKeyEvent" à la place, mais getContentPane [ par Avidev ] Bonjour J'ai créer une class JFrame à l'intérieur de celle çi j'ai appelé la méthode JRadioButton Ensuite j'ai créer une autre classe JPanel, à l'int scrollpane et panel :) [ par Ricool ] Bonjourj'ai un petit probleme de mise en page d'une jdialogen effet, dans celle ci je dois faire apparaitre le contenu d'un fichier text represnetant JTable + initialisation des données problèmes [ par ObiWanKennedy ] SALUTVoila mon problème, j'ai un vector qui continent des occurences d'une classe qui ce est constituée de 2 données membres: la question et la repons JtextFields + gros pb [ par ObiWanKennedy ] Salut voila on a un code qui marche une foi et pas deuxen gros dans un actionPerformed on dans un if  l'initialisation d'une fenetre avec un jtextfiel Modifier un champs d'un texfield apres recherche dans access [ par fartman2001 ] Bonjour, voila je travaille en AWT, et j'aimerais après une recherche pouvoir modifier les elements de mon textfield pour modifier mas base de donner erreur JDBC : table/alias : 'num' non unique [ par oceane751 ] bonjour, voila j'ai une erreur qui apparait lorsque je lance mon programe qui est censé supprimer un client (requete delete) dans une bdd MYSQL erreur Affichage JTable [ par alonsyl ] bonjour,j'essaie d'afficher une JTable sur une fenetre. tout se passe convenablement sauf que :1) les donnees s'affichent mais pas les titres de colon classe personne erreur comprend pas merci de m aider [ par djterrence ] Bon je vais y aller classe par classe alors dans la classe personne avec pour descriptif celui-ci La classe Personne Description Cette classe gère besoin de main pour ce code , c urgent [ par souvenir2005 ] quelqu'un peut m'aider pour finir la main de ce programme?import java.awt.*;import java.awt.event.*; class order{  int ordcode ;String ordcontain;


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales