Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Java]fenetre ne swing

    17 octobre 2006 à 20:22:30

    bonjour, je fais un petit programme simple, c'est ouvrir une fenetre. Le programme ouvre une fenetre, mais elle ne possède pas les caractéristiques (dimension, decoration, fermeture au X) que je lui ai attribuées... Un peu d'aide svp.

    // The "Fenetre" class.
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;

    public class fenetre extends JFrame{

        private static void fenetreGUI ()
        {
            //Propriete de la fenetre qui est appeler frame
            JFrame.setDefaultLookAndFeelDecorated (true);
            JFrame frame;
            frame = new JFrame ("Fenetre a Ouellet");
            frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
            frame.setSize (320, 240);
            //Add the ubiquitous "Hello World" label.
            JLabel label = new JLabel ("Hello World");
            frame.getContentPane ().add (label);

            //initialisation de la fenetre
            frame.pack ();
            frame.setVisible (true);
        }


        public static void main (String[] args)
        {
            SwingUtilities.invokeLater (new Runnable ()
            {
                public void run ()
                {
                    //On crée une nouvelle instance de notre fenêtre
                   fenetre gui = new fenetre ();
                   gui.setVisible (true); //On la rend visible
                }
            }
            );
        }
    }
        // main method
     // Fenetre class
    • Partager sur Facebook
    • Partager sur Twitter
      17 octobre 2006 à 20:27:24

      tu doit utiliser le mot :

      this


      et non utiliser JFrame frame;

      this


      En effet tu travail sur l'objet courant.
      • Partager sur Facebook
      • Partager sur Twitter
        17 octobre 2006 à 20:31:50

        Tu es sur qu'il faut utilisé this... car j'ai vu beaucoup d'autre soucre code l'expliquant sans this...
        • Partager sur Facebook
        • Partager sur Twitter
          17 octobre 2006 à 20:39:25

          En faite, celà va dépendre d'une chose. Ta classe hérite de JFrame si tu utilise this ca marche.
          de plus, si tu utilise pack(), JAVA adapte la taille de la fenêtre de façon optimal donc si tu veux donner la taille que tu souhaite enlève.

          Correction possible
          import javax.swing.*;

          public class fenetreGUI  extends JFrame {

              private fenetreGUI ()
              {
                  super("Fenetre a Ouellet");
                  setDefaultLookAndFeelDecorated (true);
                  setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
                  setSize (320, 240);
                  //Add the ubiquitous "Hello World" label.
                  JLabel label = new JLabel ("Hello World");
                  getContentPane ().add (label);

                  //initialisation de la fenetre
                  setVisible (true);
              }


              public static void main (String[] args)
              {
                  SwingUtilities.invokeLater (new Runnable ()
                  {
                      public void run ()
                      {
                          //On crée une nouvelle instance de notre fenêtre
                          fenetreGUI gui = new fenetreGUI();
                         gui.setVisible (true); //On la rend visible
                      }
                  }
                  );
              }
          }


          autre solution mais je l'aime moi :

          import javax.swing.*;

          public class fenetreGUI   {

              private fenetreGUI ()
              {
                  JFrame frame;
                  frame = new JFrame("Fenetre a Ouellet");
                  frame.setDefaultLookAndFeelDecorated (true);
                  frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
                  frame.setSize (320, 240);

                  JLabel label = new JLabel ("Hello World");
                  frame.getContentPane ().add (label);

                  //initialisation de la fenetre
                  frame.setVisible (true);
              }


              public static void main (String[] args)
              {
                  SwingUtilities.invokeLater (new Runnable ()
                  {
                      public void run ()
                      {
                          fenetreGUI gui = new fenetreGUI();
                      }
                  }
                  );
              }
          }

          • Partager sur Facebook
          • Partager sur Twitter
            18 octobre 2006 à 6:53:13

            Pour ta solution dans ton code de départ c'est juste parceque tu écris

            fenetre gui = new fenetre();

            mais tu n'as pas de constructeur dans ta classe fenetre ;)

            (Tuto en cours de validation sur une introduction a swing et SWT en java donc )
            • Partager sur Facebook
            • Partager sur Twitter

            [Java]fenetre ne swing

            × 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