fred240683
Messages postés23Date d'inscriptionmardi 19 octobre 2004StatutMembreDernière intervention 9 novembre 2004
-
26 oct. 2004 à 22:59
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 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");
});
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 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;
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 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");
}
.....