> Tous les forums > Forum Autres langages
 difficulté de gestion alternée de deux formulaires
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
pytheas
  Posté le 20/11/2013 @ 23:29 
Aller en bas de la page 
Petit astucien

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)

public class FormANaiss extends javax.swing.JFrame {

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

// TODO add your handling code here:

ActeNaissSuite suite= new ActeNaissSuite(); // création de l’instance du formulaire secondaire

suite.setVisible(true);

}

}

Code du formulaire secondaire (FormANaiss)

public class ActeNaissSuite extends javax.swing.JFrame {

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

// TODO add your handling code here:

FormANaiss frmANaiss= new FormANaiss();//création de l’instance du formulaire principal

frmANaiss.setVisible(true);

}

}

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

Publicité
pytheas
 Posté le 21/11/2013 à 14:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Oui c'est bien ça.avez vous une petite idée sur le sujet?

rdany62
 Posté le 21/11/2013 à 17:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Je ne connais pas (encore) Java, mais les principes sont les mêmes qu'en C++ ou en C#. C'est logique que tu ais 10 instances de chaque classe si tu cliques 10 fois sur le bouton "Suivant" et 10 fois sur le bouton "Précédent", puisque tu les crées lorsque tu traites les clics. Crées 1 seule instance de chaque classe (1 de FormANaiss et 1 de ActeNaissSuite) en même temps, là où tu ne crées que l'instance initiale de FormANaiss pour l'instant.

Quand tu fais (pour afficher le formulaire principal):

FormANaiss form1 = new FormANaiss();

Fais plutôt:

FormANaiss form1 = new FormANaiss();

ActeNaissSuite form2 = new ActeNaissSuite();

form1.oActeNaissSuite = form2;

form2.oFormANaiss = form1;

form2.setVisible(false); //Si tu le peux, mets cette propriété à false dans ton éditeur de formulaires et supprime cette ligne, ainsi, ton formulaire ne s'affichera pas pour disparaître tout de suite après (je sais que je peux le faire sous Visual Studio, çà modifie directement le formulaire dans les ressources, mais je ne sais pas en Java).

Dans ta déclaration de la classe FormANaiss, ajoute une propriété publique de type ActeNaissSuite nommée oActeNaissSuite, et dans ta déclaration de la classe ActeNaissSuite, ajoute une propriété publique de type FormANaiss nommée oFormANaiss.

Ensuite, dans ta méthode CmdSuiteActionPerformed, supprime la ligne:

ActeNaissSuite suite= new ActeNaissSuite(); // création de l’instance du formulaire secondaire

et remplace:

suite.setVisible(true);

par:

oActeNaissSuite.setVisible(true);

Dans ta méthode CmdPcdtActionPerformed, supprime:

FormANaiss frmANaiss= new FormANaiss();//création de l’instance du formulaire principal

et remplace:

frmANaiss.setVisible(true);

par:

oFormANaiss.setVisible(true);

Comme çà, çà devrait aller mieux.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
extraction de valeurs sur un tableau a deux entrees
[QT] Navigateur Internet : Gestion Favoris
Problème de gestion dynamique de JCheckbox
Compiler deux fichiers séparés
[SDL] Gestion des événements ne marche pas
Deux petites question
creer un programme qui permet la gestion d'un cybe
Tableaux deux dimensions
Spring et les formulaires dynamiques
Crée dans word deux boutons d'impression directe
Plus de sujets relatifs à difficulté de gestion alternée de deux formulaires
 > Tous les forums > Forum Autres langages