Partage
  • Partager sur Facebook
  • Partager sur Twitter

[JAVA] la programmation graphique de base

plus particulierement les dessins et les panneaux

Sujet résolu
    1 février 2006 à 20:30:14

    Bonjour à tous


    Je requiert votre aide , j'ai en effet un problème avec un de mes petits scripts JAVA!
    • Je voudrais que fenetre s'ouvre
    • La fenetre contient un panneau
    • Le panneau a un arriere plan en CYAN
    </span>
    AÏEEEEEEEEEEEEEEEEUUHHH !!! ca marche pas !!!
    Un petit fenetre s'ouvre en haut à gauche de l'écran
    et on n'en voit pas le contenu ! pourtant quand
    j'agrandis la fenetre le fond n'est pas en CYAN


    Pourriez vous m'aidez
    • Partager sur Facebook
    • Partager sur Twitter
      1 février 2006 à 22:35:27

      un arriere-plan un Cyan ?....... buerk :/
      essai avec un editeur de GUI , comme Jbuilder
      • Partager sur Facebook
      • Partager sur Twitter
        1 février 2006 à 23:09:00

        Voici ce que je te propose:

        A placer dans ta classe principale (ici, "taclasse"):

        public static void main(String args[])
                {
                        Taclasse H=new Taclasse();
                }
               
                public Taclasse()
                {
                        Frame Lafenetre=new Frame("Le titre ici");
                        Lafenetre.setSize(1200,900);//donne la taille de Lafenetre
                        Lafenetre.setLocation(100,100);//donne la position de Lafenetre
                        Lafenetre.addWindowListener(new WindowAdapter()//permet de fermer Lafenetre en cliquant sur la croix sur fond rouge
                        {
                                public void windowClosing(WindowEvent event)
                                {
                                        System.exit(0);
                                }
                        });
                        Lafenetre.setBackground(java.awt.Color.cyan);
                        Panel UnPanneau=new Panel();
               }


        J'espère que ça t'ira mais je peux m'être trompé quelque part. :)
        • Partager sur Facebook
        • Partager sur Twitter
          2 février 2006 à 7:33:48

          non ce n'est aps ca voici mon code ( je l'avais oublié )
          import javax.swing.*;
          import java.awt.event.*;
          import java.awt.*;
          ////////////////////////////////
          class Fenetre extends JFrame
          {
                  public Fenetre (String contenu,int large,int haut)
                  {
                          // création de la fenêtre
                          fenetre = new JFrame();
                          fenetre.setTitle(contenu);
                          fenetre.setSize(large,haut);
                         
                          // création d'un panneau
                          panneau = new JPanel();
                          panneau.setBackground(Color.cyan);
                          panneau.setSize(large,haut);
                          fenetre.add(panneau);
                  }
                  private JFrame fenetre;
                  private JPanel panneau;
          }
          public class Dessin
          {
                  public static void main(String[] args)
                  {
                          Fen = new Fenetre("Un dessin",400,500);
                          Fen.setVisible(true);
                  }
                  static private JFrame Fen;
          }
          • Partager sur Facebook
          • Partager sur Twitter
            2 février 2006 à 8:59:20

            je ne sais si cela peut faire quelque chose mais remplace fenetre.add(panneau); par fenetre.getContentPane.add(panneau);
            (c'etait necessaire en 1.4 mais je ne suis plus sur pour la 1.5)
            • Partager sur Facebook
            • Partager sur Twitter
              2 février 2006 à 9:35:43

              oui je le fais tout de suite !
              Mais c'est pas ce que je veux !
              Je veux que la fenetre contienne un panneau pour qu'apres ce dernier contienne un bouton !
              Je crée une Fenetre -> qui contient un Panneau -> qui a un background en CYAN
              C'est possible ?

              _______________________________
              pierrot -> Ca y est , je l'ai fais !
              Mais la fenetre est toujorus minimisée , mais quand je l'ouvre , elle a un fond CYAN !
              c'est deja pas mal ! :p
              Une autre solution ?
              autre question => je comprends pas bien le systeme de conteneur et composant ,
              enfin si mais je comprends pas le getContentPane() !
              • Partager sur Facebook
              • Partager sur Twitter
                2 février 2006 à 10:19:57


                import javax.swing.*;
                import java.awt.event.*;
                import java.awt.*;
                ////////////////////////////////
                class Fenetre extends JFrame
                {
                        public Fenetre (String contenu,int large,int haut)
                        {
                                // création de la fenêtre
                                fenetre = new JFrame();
                                fenetre.setTitle(contenu);
                                fenetre.setSize(large,haut);
                                fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                                //avec cette ligne la fenetre va se fermer quand tu cliquera sur la croix

                               
                                // création d'un panneau
                                panneau = new JPanel();
                                panneau.setBackground(Color.cyan);
                                panneau.setSize(large,haut);
                                fenetre.add(panneau);
                        }
                        private JFrame fenetre;
                        private JPanel panneau;
                }
                public class Dessin
                {
                        public static void main(String[] args)
                        {
                                Fen = new Fenetre("Un dessin",400,500);
                                Fen.setVisible(true);
                        }
                        static private JFrame Fen;
                }


                normalement pour le reste ca doit être bon
                • Partager sur Facebook
                • Partager sur Twitter
                  2 février 2006 à 13:00:20

                  non ca ne marche pas mais j'ai résolu le probleme
                  encore un question (c'est la derniere )
                  Quel est l'utilité du getContentPane(); ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    2 février 2006 à 18:45:10

                    Mon gars, quand on ne connait pas ne serais-ce que les bases du Java, on ne tente pas de programmer avec.

                    Voici quelques explications.

                    Un objet Frame ou JFrame représente en Java une fenêtre.
                    Cette fenêtre est un conteneur, mais elle ne peut contenir qu'un seul objet.
                    Un objet Panel ou JPanel est un conteneur qui peut contenir autant de "widjets" (boutons, cases à cocher, ...) que l'on veut.

                    Ainsi, une instance de Frame (ou de JFrame) contient dès sa création une instance de Panel (ou de JPanel).
                    Pour accèder à ce Panel (ou JPanel), on utilise deux méthodes :
                    _ getContentPane() qui renvoie le Panel (ou JPanel) de ta Frame (ou JFrame) ;
                    _ setContentPane(Panel) qui te permet de remplacer le Panel (ou JPanel) de ta Frame (ou JFrame) par celui que tu veux.

                    Mieux vaut éviter l'utilisation de setContentPane.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      2 février 2006 à 19:59:37

                      ah je comprends mieux merci !
                      • Partager sur Facebook
                      • Partager sur Twitter

                      [JAVA] la programmation graphique de base

                      × 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