> 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 participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
-40%Mois du Blanc : jusqu'à -40% sur une sélection Linge de Maison
Valable jusqu'au 13 Février

Couettes, matelas, linge de lit et bien plus encore : c'est le mois du blanc sur Amazon avec jusqu'à -40% sur une sélection de produits.


> Voir l'offre
64,99 €Alimentation PC Corsair CV650 650W à 64,99 €
Valable jusqu'au 16 Janvier

Boulanger fait une promotion sur l'alimentation PC Corsair CV650 650W à 64,99 € au lieu de 80 € ailleurs. Cette alimentation certifiée 80+ Bronze dispose d'un ventilateur thermorégulé de 120 mm qui assure le refroidissement silencieux de votre système, tandis que son format compact s’adapte facilement à presque tous les boîtiers PC modernes avec une longueur de seulement 125mm.


> Voir l'offre
30 €Haut-parleurs Bluetooth Logitech Z207 à 30 €
Valable jusqu'au 17 Janvier

Amazon fait une promotion sur les haut-parleurs bluetooth Logitech Z207 qui passent à 30 € livrés gratuitement alors qu'on les trouve ailleurs à partir de 43 €. Vous pouvez connecter ces haut-parleurs 10W à votre ordinateur, votre appareil mobile via une connexion sans fil bluetooth. Une entrée 3,5 mm est présente ainsi qu'un bouton de volume. 


> 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