Salut
j'ai creer une interface JFrame dans laquelle en trouve un bouton, lorsque je click sur ce bouton une autre interface s'ouvre et la 1ére interface devient inaccessible(inactive).
mon probléme c'est lorsque je ferme la 2éme interface la 1ére se ferme avec elle, merci de m'avoir donner une sollution
Et voici mon Code
public class Communication extends JFrame {
static JFrame frame=new JFrame();
static JPanel p=new JPanel();
public Communication(){
}
public static void main(String[] args){
frame.setVisible(true);
frame.setSize(300,300);
JButton b=new JButton("entrer");
b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JDialog frame2=new JDialog();
frame2.setSize(222,222);
frame2.setVisible(true);
frame2.setAlwaysOnTop(true);
frame.setEnabled(false);
//frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
if(frame2.isVisible()==false){
frame.setEnabled(true);
}
}
});
p.add(b);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(p);
}
}
Ton code ne peux pas marcher car le booléen frame2.isVisible==false ne peut pas se produire puisque tu viens d'entrer l'instruction frame2.setvisible(true).
Perso, j'implementerais un windowListener de cette façon:
public class Communication extends JFrame {
static JFrame frame=new JFrame();
static JPanel p=new JPanel();
public Communication(){
}
public static void main(String[] args){
frame.setVisible(true);
frame.setSize(300,300);
JButton b=new JButton("entrer");
b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JDialog frame2=new JDialog();
frame2.setSize(222,222);
frame2.setVisible(true);
frame2.setAlwaysOnTop(true);
frame.setEnabled(false);
frame2.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame2.addWindowListener(new WindowListener(){
public void windowOpened(WindowEvent e) {
}
public void windowClosing(WindowEvent e) {
frame.setEnabled(true);
frame2.dispose();
}
public void windowClosed(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowActivated(WindowEvent e) {
}
public void windowDeactivated(WindowEvent e) {
}
});
}
});
p.add(b);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(p);
}
}
java swing: desactivée JFrame
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.