Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Nouvelle fenetre servant de formulaire... [ Archives / Divers ] (jonathan100)

mercredi 5 février 2003 à 10:59:36 | Nouvelle fenetre servant de formulaire...

jonathan100

Bonjour,

Je souhaite creer une nouvelle fenetre ou je vais pouvoir saisir des informations qui devront par la suite etre utilisees par l'application(donc la fenetre) principale. Je ne travaille pas avec un outil de type JBuilder, je dois donc taper l'ensemble du code.
Je voudrais deja savoir pour la creation de ma fenetre si je dois creer une instance d'une classe generale "Fenetre" ou bien creer une nouvelle classe "Nouvelle_fenetre" en l'instanciant. Disons que je ne vois pas l'interet de faire une classe generale, le seul point commun entre les deux etant le fait qu'il y a un titre! Pas de methode generale...

Ensuite pour la question de formulaire. je voudrais qu'en validant ce formulaire la fenetre se ferme, puis les variables soient envoyees dans l'appli principale. Comment transferer ces variables?

D'avance merci de vos reponses. A bientot.

mercredi 5 février 2003 à 11:49:37 | Re : Nouvelle fenetre servant de formulaire...

Duss

salut,

effectivement dans ton cas, tu as tout interet as créer une nouvelle classe.

Le mieux a faire est de la dérivée de JDialog car c'est plus sympa pour récupérer les infos et de plus, tu peux la rendre modale (c'est a dire que tu obliges l'utilisateur a devoir la fermer pour pouvoir retravailler sur la fenetre principale).

Pour l'échange de données, soit tu te fait des méthodes get pour chaque info que tu veux récupérer, soit tu fais une méthode qui te renvoit une HashMap qui contiendra toutes tes infos (HashMap, HashTable ou Vector ... peut importe)

Exemple :

la classe dérivée de JDialog (faudra rajouter les imports !)

public class NouvelleFenetre extends JDialog implements ActionListener
{
private JButton _ok;
private HashMap _infos;

public NouvelleFenetre()
{
super(new JFrame(),"titre",true);
/* le premier arg t'évite d'avoir a passer en arg a
ton constructeur ta fenetre principale !
le 2eme arg c'est le titre,
le 3eme arg rend ta dialog modale,
apres tu construit ta fenetre comme pour une JFrame*/

_ok = new JButton("ok");
_ok.addActionListener(this);
}

public void startDialog()
{
// lance le dialogue avec ta fenetre
// tant que le setVisible(false) n'a pas lieu,
// c'est ta fenetre qui garde la main !!
setVisible(true);

// tu peux rajouter ici d'autres traitements
// par exemple :
_infos = new HashMap();
}

public void actionPerformed(ActionEvent e)
{
// si ton bouton de valid s'appelle ok
if (e.getSource() == ok)
{
// tu remplit ta map avec tes champs
// par ex si tuas un champ text _nom
_infos.put("nom", _nom.getText());
......

// la tu mets fin au dialogue et tu rends la main
// a ta fenetre
setVisible(false);
}
}

// Méthode pour récupérer les infos
public HashMap getInfos()
{
return _infos;
}
}


Pour ta fenetre principale quelque part dans le code:



NouvelleFenetre fen = new NouvelleFenetre();
fen.pack();

// tu lances le dialogue
fen.startDialog();

// tu récupère les données quand le dialogue est fini
HashMap donnees = fen.getInfos();



Voila

Duss



mercredi 5 février 2003 à 11:58:44 | Re : Nouvelle fenetre servant de formulaire...

jonathan100

Whaou!

Bon je n'ai plus qu'a me mettre au travail alors!

Merci beaucoup pour ton aide. Mais j'en aurais peut-etre encore besoin...!

++

mercredi 5 février 2003 à 15:52:11 | Re : Nouvelle fenetre servant de formulaire...

jonathan100

J'ai un probleme avec cette ligne:


public class NouvelleFenetre extends JDialog implements ActionListener


J'ai un message d'erreur me disant que ActionListener etant une interface, je dois declarer ma classe en abstraite.
Et effectivement, si je la declare en abstraite, ca compile.
Je ne comprend pas pourquoi... Je n'y connais pas grand chose en classe abstraite, mais elles ne doivent contenir que des methodes normalement pas vrai? Or celle la n'est pas abstraite.

Je ne vois pas la... Si quelqu'un pouvait m'expliquer... merci d'avance.

mercredi 5 février 2003 à 16:55:38 | Re : Nouvelle fenetre servant de formulaire...

jonathan100

Je ne comprends pas ta methode pour passer des variables d'une fenetre a une autre.

Voici mon code:



//Classe fenetre


public class fenetre extends JFrame
{
public int nombre;
public fenetre()
{
}
public int getnombre()
{
return nombre;
}
}



Puis ma nouvelle fenetre:




public class new_fenetre extends JFrame
{
public new_fenetre
{
int reponse = fenetre.getnombre();
}
}



Et bien ca ca ne marche pas! Ou est mon erreur?

Merci de votre aide.

mercredi 5 février 2003 à 18:16:08 | Re : Nouvelle fenetre servant de formulaire...

Duss


bien,

tout d'abord, pour le probleme de classe abstraite :

le fait d'implémenter ActionListener t'oblige a implémenter la méthode :

public void actionPerformed(ActionEvent e)
{

}


si tu ne le fais pas, il faut que ta classe soit abstraite afin de forcer ses dérivées à implémenter cette méthode !!

Pour ce qui est du passage de paramètre, la méthode que je t'ai indiquée ne marcheras que si tu dérive de JDialog et que tu rends ta JDialog modale !

Voilà

Duss

jeudi 6 février 2003 à 12:05:59 | Re : Nouvelle fenetre servant de formulaire...

jonathan100

Merci pour ton aide.

Je vais voir cela. Mais n'y-a-t-il pas une methode plus simple? Je pensais sinon recuperer mes valeurs dans ma fenetre principale, et jsute les envoyer dans ma seconde fenetre.


public class Fenetreun
{
public fenetreun()
{
int var = 0;
}
}




Puis:


public class Fenetredeux
{
public fenetredeux()
{
int reponse = //recuperer var
}
}


Comment puis-je faire cela le plus simplement possible, et en ne pasant pas par un JDialog?

Merci encore de votre aide

jeudi 6 février 2003 à 12:46:22 | Re : Nouvelle fenetre servant de formulaire...

Duss


salut,

bon alors a ce moment la, il faut que tu passes ta fenetre principale en argument dans ton constructeur de ta fenetre secondaire et la tu pourras communiquer entre les deux !



public class Fenetreun
{
private int var;

public fenetreun()
{
var = 0;
}

public setVar(int valeur)
{
var = valeur;
}
}





public class Fenetredeux
{
private FenetreUn fen1;

public fenetredeux(FenetreUn source)
{
fen1 = source;

.........

fen1.setVar(ce que tu veux passer);
}
}




Duss

jeudi 6 février 2003 à 13:58:50 | Re : Nouvelle fenetre servant de formulaire...

jonathan100

Exact ca marche.

Merci beaucoup pour ton aide

jeudi 6 février 2003 à 14:37:17 | Re : Nouvelle fenetre servant de formulaire...

Duss


de rien, n'hésite pas si tu as d'autres questions

Duss


1 2

Cette discussion est classé dans : creer, formulaire, fenetre, classe, generale


Répondre à ce message

Sujets en rapport avec ce message

creer 1 fenetre alerte [ par javateux ] Bonjour, le cherche la meilleur methode pour declancher une fenetre d'alerte(du type : "etes vous sur de vouloir effacer machin?" - boutton OK). Quels Fermer une fenêtre en utilisant le "X" [ par depression ] Bonjour.Bon, cela fait un an et demi que je n'ai plus fait de java, et je ne me souviens plus comment on fait pour fermer une fenetre en cliquant sur Lire les instances d'une classe [ par anneli ] bonjour,dans mon programme, je creer des instances de classes lorsque je rencontre certaines balises dun document. j'aurai voulu savoir si il existait fenetre de demarage [ par eagle_one ] bonjour !je sais deja comment creer une fenetre en java ,mais je voudrais savoir comment creer une fenetre de demarage,aussi connu sous le nom de" sp serialisation jframe [ par beni dubroncks ] j'ai une classe qui herite de la classe jframe il m'arrive de serialiser des objets de cette classe. mais lorsque je les reinstancie la fenetre s'affi petit probleme d'action entre 2 applet [ par mandi01 ] Bonjour. Voilà j'ai un petit problème d'action entre 2 classe. Je m'explique : j'ai une classe nommée fenetre, et une autre nommée EntrerDate ce qu'i Utilisation du même JFrame ! [ par joduak ] Bonjour, Je rencontre une difficulté à savoir l'utilisation de la même fenêtre dans mon application quelque soit la classe que j'utilise. Dans diffé Wait & notify [ par fredou30 ] Bonjour, j'essais de suspendre le déroulement d'une classe pendant que mon objet est en action.Voici mon code://Création de l'objet formulaireFormulai jscrollPane [ par java62 ] bonjour à tous.Voilà je rencontre un petit problème dans mon code.Je voudrais faire un ascenseur mais le problème est que je n'arrive pas je vous mont utiliser une classe java dans une jsp [ par limalima ] Bonjour,j'ai une jsp nomée page.jsp, et une classe java ( nommée Fenetre) dans le même repertoire.à l'intérieure de ma jsp j'ai voulu utiliser ma clas


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.