Cacher frame

Signaler
Messages postés
36
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
22 juillet 2009
-
Messages postés
36
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
22 juillet 2009
-
Bonjours à tous,
Voila mon pb, j'ai une Jframe que je voudrait cacher lors d'un clique sur un bouton.
Dans le ActionPerform j'ai fait un setVisible(false); mais ca ne change rien!
Quelq'un a une idée
Merci

5 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
129
Pourtant c'est bien la syntaxe qu'il faut !

Es-tu sûr que tu passe dans le actionPerformed ? Fais un System.out.println("Je passe ici); pour t'en assurer.
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
37
Salut:

Peux tu nous donner la forme de ton code, et la place de la méthode setVisible ()?
________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts"
Messages postés
36
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
22 juillet 2009

Oui je suis certaine de passer dans mon ActionPerformed car j'ouvre une autre fenetre. Voici a quoi ressemble mon code de la classe ActionPerformed :

    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        String txt1 = premier.getText();
        String txt2 = deuxieme.getText();
       
        set_joueur1(txt1);
        set_joueur2(txt2);
       
        maframe fenetre = new maframe("Jeu d'Awalé",txt1, txt2);
        set_titre("hoé");
        System.out.print(this.text);
        this.setVisible(false);
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
129
Ca vient de ton this je pense ! A quel niveau est ton actionPreformed ? Au niveau de ta classe que tu veux masquer, ou au niveau de la classe ActionListener ?
Messages postés
36
Date d'inscription
jeudi 1 février 2007
Statut
Membre
Dernière intervention
22 juillet 2009

En fait j'implémente ActionListener pour plus de clareté je t'envoie mon code :




public
class joueurs
extends JFrame
implements ActionListener{







private





static





final





long





serialVersionUID

= 1L;








private







JPanel




monPanel
,

panel1
,

panel2
,

validation
;JTextField


premier
;JTextField


deuxieme
;JLabel


message
;JLabel


nom1
,

nom2
;JButton


valider
;String


text
=

"Bienvenue dans Awale"
;String


joueur1
,

joueur2
;



public

joueurs () {JFrame fenetre =



new

JFrame (

text
);

Dimension screen = Toolkit. getDefaultToolkit ().getScreenSize();



this

.setLocation((screen.

width
-


this

.getSize().

width
)/2,(screen.

height
-


this

.getSize().

height
)/2);



this

.pack();


nom1
=


new

JLabel();


nom1
.setHorizontalAlignment(SwingConstants.


CENTER

);


nom1
.setPreferredSize(


new

Dimension(50,20));


nom1
.setText(

"Nom du premier joueur : "
);


nom2
=


new

JLabel();


nom2
.setHorizontalAlignment(SwingConstants.


CENTER

);


nom2
.setPreferredSize(


new

Dimension(50,20));


nom2
.setText(

"Nom du deuxieme joueur : "
);


panel1
=


new

JPanel();

panel2
=


new

JPanel();


premier
=


new

JTextField();


premier
.addActionListener(


this

);


premier
.setPreferredSize(


new

Dimension(70,20));


panel1
.add(

premier
);


deuxieme
=


new

JTextField();


deuxieme
.addActionListener(


this

);


deuxieme
.setPreferredSize(


new

Dimension(70,20));


panel2
.add(

deuxieme
);


validation
=


new

JPanel();


validation
.setPreferredSize(


new

Dimension(200,100));


valider
=


new

JButton(

"Valider"
);


valider
.setHorizontalAlignment(SwingConstants.


CENTER

);


valider
.setVerticalAlignment(SwingConstants.


CENTER

);


valider
.addActionListener(


this

);


validation
.add(

valider
);


message
=


new

JLabel();


message
.setHorizontalAlignment(SwingConstants.


CENTER

);


message
.setPreferredSize(


new

Dimension(100,50));


message
.setText(

"Veuillez saisir le nom des joueurs SVP."
);


monPanel
=


new

JPanel(


new

GridLayout(5,1));


monPanel
.add(

nom1
);


monPanel
.add(

panel1
);


monPanel
.add(

nom2
);


monPanel
.add(

panel2
);


monPanel
.add(

validation
);

Dimension screenSize = java.awt.Toolkit. getDefaultToolkit ().getScreenSize();

fenetre.setLayout(



new

BorderLayout());fenetre.getContentPane().add(


message
, BorderLayout.


NORTH

);fenetre.getContentPane().add(


monPanel
, BorderLayout.


CENTER

);


//fenetre.getContentPane().add(validation, BorderLayout.SOUTH);

fenetre.setLocation(


(screenSize.




width
-fenetre.getWidth())/2,(screenSize.


height
-fenetre.getHeight())/2);

fenetre.setDefaultCloseOperation(JFrame.



EXIT_ON_CLOSE

);fenetre.setSize(300, 350);

fenetre.setVisible(



true

);

}



public





void

set_joueur1(String joueur) {


joueur1
=joueur;}



public





void

set_joueur2(String joueur) {


joueur2
=joueur;}



public

String get_joueur1() {



return




joueur1
;}



public

String get_joueur2() {



return




joueur2
;}



public





void

set_titre(String mess) {


text
=mess;}



public

String get_titre() {



return




text
;}

 



public





void

actionPerformed(ActionEvent e) {


//

TODO

Auto-generated method stub

String txt1 =




premier
.getText();String txt2 =


deuxieme
.getText();

set_joueur1(txt1);

set_joueur2(txt2);



new

maframe(

"Jeu d'Awalé"
,txt1, txt2);set_titre(


"hoé"
);System.



out

.print(


this

.

text
);



this

.setVisible(


false

);

}

}

Merci de vos conseils.