Les différentes fenetres d'un projet

fred240683 Messages postés 23 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 9 novembre 2004 - 26 oct. 2004 à 22:59
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 27 oct. 2004 à 17:08
Bonjour.
Je développe une application dans laquelle à partir d'une fenetre principale j'ouvre diverses fenetres secondaires.
J'aimerais que l'on ne puisse rien faire sur la fenetre principale tant que la fenetre secondaire ne soit pas fermée.
Quelqu'un peut-il m'aider svp ???

JMenuItem changerpasswd=new JMenuItem("Changer mot de passe"); //item du menu de la fenetre principale
changerpasswd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
//nouvelle fenetre
final JFrame fenchgerpasswd=new JFrame("Changer son mot de passe");
JPanel panneauchgerpasswd= new JPanel(new BorderLayout());
JPanel changement=new JPanel(new GridLayout(4,2,0,0));
changement.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
changement.add(creeLabel("Pseudo: ",4));
JTextField saisiePseudo= new JTextField();
saisiePseudo.setFont(new Font("MonoSpaced",Font.PLAIN,12));
changement.add(saisiePseudo);
changement.add(creeLabel("Ancien mot de passe: ",4));
JTextField saisieOldPwd= new JTextField();
saisieOldPwd.setFont(new Font("MonoSpaced",Font.PLAIN,12));
changement.add(saisieOldPwd);
changement.add(creeLabel("Nouveau mot de passe: ",4));
JTextField saisieNewpwd= new JTextField();
saisieNewpwd.setFont(new Font("MonoSpaced",Font.PLAIN,12));
changement.add(saisieNewpwd);
changement.add(creeLabel("Confirmation: ",4));
JTextField saisieConfirmNewPwd= new JTextField();
saisieConfirmNewPwd.setFont(new Font "MonoSpaced",Font.PLAIN,12));
changement.add(saisieConfirmNewPwd); 
JPanel chgementBas=new JPanel(new FlowLayout());
chgementBas.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
JButton bBasOK=new JButton("OK");
JButton bBasANNULER=new JButton("ANNULER");
bBasANNULER.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
fenchgerpasswd.setVisible(false);
}
});
bBasOK.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
fenchgerpasswd.setVisible(false);
}
});
chgementBas.add(bBasOK);
chgementBas.add(bBasANNULER);

panneauchgerpasswd.add(changement,"Center");
panneauchgerpasswd.add(chgementBas,"South");

}); 


merci d'avance

3 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
27 oct. 2004 à 01:07
tu peux utiliser une des méthodes de java.awt.event.WindowListener en les ajoutant à ta classe ou jouer sur les focus de tes frames
ou plus grossier
int cpt = 0;
....
if(cpt==0){
//code a executer une fois
cpt = 1;
}
....
//dans la methode de fermeture
cpt = 0;
0
fred240683 Messages postés 23 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 9 novembre 2004
27 oct. 2004 à 14:31
moi pas comprendre ou tu veux en venir .
Peut tu etre plus précis svp.
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
27 oct. 2004 à 17:08
hello,

sinon tu peux faire genre
class taClass extends JFrame{
.....
static int cpt = 0;
.....
JMenuItem changerpasswd=new JMenuItem("Changer mot de passe"); //item du menu de la fenetre principale
changerpasswd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
if(cpt == 0){
creerFrame();
cpt=1;
}
}
}); 

.....
void creerFrame(){
//nouvelle fenetre
final JFrame fenchgerpasswd=new JFrame("Changer son mot de passe");
JPanel panneauchgerpasswd= new JPanel(new BorderLayout());
JPanel changement=new JPanel(new GridLayout(4,2,0,0));
changement.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
changement.add(creeLabel("Pseudo: ",4));
JTextField saisiePseudo= new JTextField();
saisiePseudo.setFont(new Font("MonoSpaced",Font.PLAIN,12));
changement.add(saisiePseudo);
changement.add(creeLabel("Ancien mot de passe: ",4));
JTextField saisieOldPwd= new JTextField();
saisieOldPwd.setFont(new Font("MonoSpaced",Font.PLAIN,12));
changement.add(saisieOldPwd);
changement.add(creeLabel("Nouveau mot de passe: ",4));
JTextField saisieNewpwd= new JTextField();
saisieNewpwd.setFont(new Font("MonoSpaced",Font.PLAIN,12));
changement.add(saisieNewpwd);
changement.add(creeLabel("Confirmation: ",4));
JTextField saisieConfirmNewPwd= new JTextField();
saisieConfirmNewPwd.setFont(new Font "MonoSpaced",Font.PLAIN,12));
changement.add(saisieConfirmNewPwd); 
JPanel chgementBas=new JPanel(new FlowLayout());
chgementBas.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
JButton bBasOK=new JButton("OK");
JButton bBasANNULER=new JButton("ANNULER");
bBasANNULER.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
fenchgerpasswd.setVisible(false);
cpt = 0;//remise a zero pour un session futur
}
});
bBasOK.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
fenchgerpasswd.setVisible(false);
cpt=0;//remise a zero pour un session futur
}
});
chgementBas.add(bBasOK);
chgementBas.add(bBasANNULER);

panneauchgerpasswd.add(changement,"Center");
panneauchgerpasswd.add(chgementBas,"South");
}
.....
0
Rejoignez-nous