Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1325 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Difficulté dans la gestion alternée de deux formulaires

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Difficulté dans la gestion alternée de deux formulaires

n°2211144
coolpythea​s
l'union fait la force
Posté le 20-11-2013 à 23:02:58  profilanswer
 

Bonsoir, voici ce que je veux arriver à réaliser et que je n’arrive pas. Dans mon application, je dispose d’un formulaire qui doit contenir une quantité importante de champs à renseigner, j’ai donc décidé de créer deux formulaires.(si vous voulez une principale et une secondaire). Sur chacun d’eux je dispose d’un bouton pour naviguer entre eux. Par exemple sur le formulaire principal,  le bouton (suite) permettra d’aller sur le formulaire secondaire, et le bouton (Précédent) du formulaire secondaire pour revenir vers le formulaire principal. Tel que je l’ai fait, lorsque je clique sur le bouton (suite) une instance du formulaire  secondaire se crée, puis lorsque je  clique sur le bouton (précédent) une autre instance du formulaire principal se crée. Au finish avec 10 clicks sur chacun de ces boutons, j’ai 10 instances de formulaire, ce qui n’est pas mon objectif. Moi j’aimerais, selon que je click sur le bouton (suite) ou (précédent) appelé respectivement le même formulaire secondaire ou le même formulaire  principal  et pas une instance de ceux-ci. J’espère m’être fait comprendre ?
Voici mes codes:  
Code du formulaire principal (FormANaiss)
 

Code :
  1. public  class FormANaiss extends javax.swing.JFrame {
  2. private void CmdSuiteActionPerformed(java.awt.event.ActionEvent evt) {                                       
  3.         // TODO add your handling code here:
  4.         ActeNaissSuite suite= new ActeNaissSuite(); // création de l’instance du formulaire secondaire
  5.         suite.setVisible(true);
  6.     }           
  7. }


 
 
Code du formulaire secondaire (ActeNaissSuite )
 

Code :
  1. public class ActeNaissSuite extends javax.swing.JFrame {
  2. private void CmdPcdtActionPerformed(java.awt.event.ActionEvent evt) {                                       
  3.         // TODO add your handling code here:
  4.         FormANaiss frmANaiss= new FormANaiss();//création de l’instance du formulaire principal
  5.         frmANaiss.setVisible(true);
  6.     }
  7. }


                           
Aussi je voudrais pouvoir arriver à conserver les données dans les champs lorsque j’appelle chacun de ces formulaires. Merci encore

mood
Publicité
Posté le 20-11-2013 à 23:02:58  profilanswer
 

n°2211241
lasnoufle
La seule et unique!
Posté le 21-11-2013 à 15:59:13  profilanswer
 

Salut

 

J'suis surement pas a jour sur les best practices en programmation objet donc si ya mieux, n'hesitez pas a vous manifester.
Vite fait et surement avec le moins de modifications, ce qu'il faut faire c'est declarer l'"autre" formulaire comme une variable dans chaque formulaire, et faire en sorte que les references soient connues d'un objet a l'autre.

 

Vite fait, pas teste, syntaxe probablement pourrie:

 

Formulaire principal:

Code :
  1. public  class FormANaiss extends javax.swing.JFrame {
  2. // Pas 100% sur que ca marche - c'est possible que tu doives le declarer null et lui assigner le New ActeNaissSuite(this) dans le constructeur
  3. protected ActeNaissSuite suite = new ActeNaissSuite(this);
  4. private void CmdSuiteActionPerformed(java.awt.event.ActionEvent evt) {                                       
  5.         // TODO add your handling code here:
  6.         suite.setVisible(true);
  7.     }           
  8. }


Formulaire secondaire:

Code :
  1. public class ActeNaissSuite extends javax.swing.JFrame {
  2. protected FormANaiss frmANaiss;
  3. public void ActeNaissSuite(FormANaiss frmANaiss) {
  4.         this.frmANaiss = frmANaiss;
  5. }
  6. private void CmdPcdtActionPerformed(java.awt.event.ActionEvent evt) {                                       
  7.         // TODO add your handling code here:
  8.         frmANaiss.setVisible(true);
  9.     }
  10. }



Message édité par lasnoufle le 21-11-2013 à 16:01:20

---------------
C'était vraiment très intéressant.
n°2211303
coolpythea​s
l'union fait la force
Posté le 22-11-2013 à 01:44:41  profilanswer
 

Merci beaucoup lasnoufle pour ta réponse qui m'a sauvé,c'est exactement ce que je recherchais. Encore une fois thanks.

n°2211304
coolpythea​s
l'union fait la force
Posté le 22-11-2013 à 01:47:48  profilanswer
 

Merci encore.

n°2211959
coolpythea​s
l'union fait la force
Posté le 28-11-2013 à 03:37:24  profilanswer
 

Salut à vous,quelqu'un peut il me dire pourquoi mon Formulaire FormANaiss n'arrive t-il pas à communiquer avec le formulaire ActeNaissSuite? Je pose cette question parce que je n'arrive pas à renseigner le champ txtCodeEnf du formulaire ActeNaissSuite par la valeur TxtCodeActe du formulaire "FormANaiss" de depuis lui? Pourtant il faut que je puisse le faire.
 
Code du formulaire FormANaiss :
 

Code :
  1. public final class FormANaiss extends javax.swing.JFrame {
  2.   private javax.swing.JTextField TxtCodeActe;
  3.   private ActeNaissSuite suite = new ActeNaissSuite(this); // instance du formulaire ActeNaissSuite
  4.    public FormANaiss() {
  5.        initComponents();
  6.    }
  7. private void cmdSuiteActionPerformed(java.awt.event.ActionEvent evt) {                                       
  8.          suite.setVisible(true);
  9.                  suite.setTxtCodeEnf(getTxtCodeActe());/* je veux remplir le champ txtCodeEnf de ActeNaissSuite à partir de ce formulaire par le bouton suite,mais pas moyen.j'ai l'impression  qu'il ne sais pas communiqué avec ActeNaissSuite */   
  10.     }   
  11. public static void main(String args[]) {
  12.         java.awt.EventQueue.invokeLater(new Runnable() {
  13.             @Override
  14.             public void run() {
  15.                 new FormANaiss().setVisible(true);
  16.             }
  17.         });
  18.     }       
  19. public String getTxtCodeActe() {
  20.         return TxtCodeActe.getText().trim();
  21.     }
  22. }


 
code du formulaire ActeNaissSuite :
 

Code :
  1. public class ActeNaissSuite extends javax.swing.JFrame {
  2.    private FormANaiss frmANaiss;// instance de FormANaiss
  3. private String txtCodeEnf;
  4. public ActeNaissSuite(FormANaiss frmANaiss) {
  5.         this.frmANaiss = frmANaiss;
  6.         initComponents();
  7. }
  8. private void CmdPcdtActionPerformed(java.awt.event.ActionEvent evt) {                                       
  9.         // TODO add your handling code here:
  10.          frmANaiss.setVisible(true);// Appel du formulaire FormANaiss
  11.     }   
  12. public void setTxtCodeEnf (String txtCodeEnf) { // accesseur que j'utilise dans FormANaiss pour remplir champ txtCodeEnf
  13.         this.txtCodeEnf = txtCodeEnf;
  14.     }
  15. public static void main(String args[]) {
  16.         java.awt.EventQueue.invokeLater(new Runnable() {
  17.             @Override
  18.             public void run() {
  19.                 FormANaiss frmNaiss= new FormANaiss();
  20.                 new ActeNaissSuite(frmNaiss).setVisible(true);
  21.             }
  22.         });
  23.     }
  24. }

n°2212093
lasnoufle
La seule et unique!
Posté le 29-11-2013 à 06:01:12  profilanswer
 

Ton code a l'air OK a premiere vue, comment tu sais que ca marche pas?
As-tu essaye d'appeler setTxtCodeEnf() avant le setVisible(true)? P'tetre que ActeNaissSuite est modal et donc quand elle passe visible le code se suspend?
Sinon j'sais pas.


---------------
C'était vraiment très intéressant.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Difficulté dans la gestion alternée de deux formulaires

 

Sujets relatifs
[RESOLU][php]pb gestion des accents dans formulaireformulaires :Infobulles automatiques créées sur certains controls
gestion de la réponse Y / N de Xcopy /P en MSDOS (WS2003 R2)gestion d erreur, rollback
Aide pourde la gestion de base de données sans Acces[XLib] Gestion des fenêtres filles sans XQueryTree
Recherche developpeurs pour jeu de gestionGestion du temps entre deux commandes?
Gestion des timestamps + TZ sur stack Java (appli + DB)Gestion des pointeurs sur instance
Plus de sujets relatifs à : Difficulté dans la gestion alternée de deux formulaires


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR