× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > 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 !


Les bons plans du moment PC Astuces

Tous les Bons Plans
26,99 €Carte mémoire SDXC UHS-I U3 SanDisk Extreme Plus 128 Go (jusqu'à 170 Mo/s) à 26,99 €
Valable jusqu'au 24 Septembre

Amazon fait une superbe promotion sur la carte mémoire SDXC UHS-I U3 SanDisk Extreme Plus d'une capacité de 128 Go qui passe à 26,99 € alors qu'on trouve la carte ailleurs à partir de 45 €. Cette carte mémoire offre des vitesses jusqu'à 170 Mo/s en lecture et 90 Mo/s en écriture et intègre des mécanismes afin de gérer l'usure des cellules de la carte et augmenter ainsi sa durée de vie. Une valeur sûre pour les plus exigeants. Elle résiste aux températures extrêmes, à l'eau, aux chocs et aux rayons X. La carte est fournie avec le logiciel de récupération de données RescuePRO Deluxe qui facilite la récupération des fichiers qui ont été effacés accidentellement. 


> Voir l'offre
21,59 €Batterie CHOETECH 10 000 mAh (USB C PD, USB QC, induction Qi sans fil) à 21,59 €
Valable jusqu'au 22 Septembre

Amazon fait une promotion sur la batterie CHOETECH 10 000 mAh qui passe à 21,59 € grâce à un coupon de réduction à appliquer sur la page du produit. Ce chargeur de 10 000 mAh dispose d'un port USB C PowerDelivery 18W, d'un port USB QC 18W et permet également de récharger sans fil via induction un appareil compatible Qi (10W).


> Voir l'offre
32,83 €Chargeur panneau solaire RAVPower USB (24W, 3 ports USB, pliable, étanche) à 32,83 € (via coupon)
Valable jusqu'au 20 Septembre

Amazon fait une promotion sur le chargeur panneau solaire RAVPower 24W qui passe à 32,83 € livré gratuitement grâce à un coupon à activer sur la page du produit alors qu'on le trouve ailleurs à partir de 70 €. Ce panneau solaire est résistant et étanche, est équipé de 4 crochets pour l'accrocher partout et possède 3 ports USB capables d'atteindre 2,4 A chacun pour un total de 4,8 A. 2 câbles micro usb sont fournis. Pour profiter de l'offre, cochez la case Coupon : Utiliser le coupon de 45 %. Le prix passera à 32,83 € sur la page de confirmation de commande.


> Voir l'offre

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