Partage
  • Partager sur Facebook
  • Partager sur Twitter

java swing: desactivée JFrame

Sujet résolu
    8 avril 2011 à 23:12:32

    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);
    
    }
    }
    
    • Partager sur Facebook
    • Partager sur Twitter
      9 avril 2011 à 11:30:35

      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);
      
      }
      }
      
      • Partager sur Facebook
      • Partager sur Twitter

      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.
      • Editeur
      • Markdown