Bonjour,
j'ai cree une premiere fenetre avec un menu qui lance une nouvelle fenetre.
Lorsque je ferme ma nouvelle fenetre avec la croix (ou alt + F4) mes 2 fenetres se ferment.
Comment faire pour que seule la seconde fenetre se ferme ?
Merci !
Bonjour,
j'ai cree une premiere fenetre avec un menu qui lance une nouvelle fenetre.
Lorsque je ferme ma nouvelle fenetre avec la croix (ou alt + F4) mes 2 fenetres se ferment.
Comment faire pour que seule la seconde fenetre se ferme ?
Merci !
Salut,
tu dois paramétrer les actions de fermeture des fenêtres avec setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE).
![]()
Je me dis que ca devrait suffir.
C'est bien 2 JFrame ?
ou alors redefinir la methode de close de la deuxieme fenetre et faire setVisible(false); dispose();![]()
C'est ça.Envoyé par nicoo
normalement tcest ce que disait speeder, moi je l'exprime autrement ...Envoyé par Regis.C
Envoyé par Speeder
nicoo, à quel moment tu fais setVisible(false) + dispose() si on ferme la fenêtre avec Alt F4 ?
enfin jdcjdr
Je vais peut-etre dire une connerie, mais il me semble que le Alt-F4 est plus un kill de l'applie qu'une simple fermeture de la fenetre donc il est normale que ca ferme toutes tes fenetres.
bon j'ai la réponse définitive avec ce code tout bête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import java.awt.BorderLayout; public class hello { private JPanel jContentPane = null; private JFrame jFrame = null; // @jve:decl-index=0:visual-constraint="247,43" private JButton jButton = null; public hello() { getJFrame(); } /** * This method initializes jContentPane * * @return javax.swing.JPanel */ private JPanel getJContentPane() { if (jContentPane == null) { jContentPane = new JPanel(); jContentPane.setLayout(new BorderLayout()); // Generated jContentPane.add(getJButton(), java.awt.BorderLayout.CENTER); // Generated } return jContentPane; } /** * This method initializes jFrame * * @return javax.swing.JFrame */ private JFrame getJFrame() { if (jFrame == null) { jFrame = new JFrame(); jFrame.setContentPane(getJContentPane()); // Generated jFrame.setSize(213, 139); // Generated jFrame.setTitle("jFrame"); // Generated jFrame.setVisible(true); jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); } return jFrame; } /** * This method initializes jButton * * @return javax.swing.JButton */ private JButton getJButton() { if (jButton == null) { jButton = new JButton("nouvelle fenetre"); jButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFrame jf = new JFrame(); jf.setSize(200,200); jf.setVisible(true); jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); }}); } return jButton; } public static void main(String[] args) { new hello(); } }
testez pour voir vous verrez Alt F4 ou la croix n'empêchent pas la seconde JFrame de survivre.
ok merci tout le monde, j'ai mis despour que ca marche
Code : Sélectionner tout - Visualiser dans une fenêtre à part setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
8) je crois qu'on peut dire que c'est résolu alors !
@+
oui j'avais zappé![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager