IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Java Discussion :

JPanel pas de sortie


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Par défaut JPanel pas de sortie
    Bonjour,
    veuillez m'aider car mon programme me donne aucun output et aucun erreur message non plus
    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
     
    import java.awt.Graphics;
    import javax.swing.JPanel;
    public class Panneau extends JPanel
    {
      public void paintComponent(Graphics g)
      {	     
        System.out.println("Je suis exécutée!!!");
        g.fillOval(20, 20, 75, 75);   
      }  
      public static void main(String[]args)
      {
         Panneau pan=new Panneau(); 
      }
    }
    merci d'avance

  2. #2
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Oui, c'est normal, un JPanel il faut le mettre dans un JFrame pour le voir

    C'est un peu comme un tableau de maître : si tu ne l'accroches pas dans ton salon, personne ne le verra
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Par défaut
    si je bien compris, il faut mettre comme ça
    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
     
    import java.awt.Color;
    import java.awt.Graphics;
    import javax.swing.JFrame;
    public class Panneau extends JFrame
    {
      public void paintComponent(Graphics g)
      {
    	  System.out.println("Je suis exécutée!!!");
    	  g.fillOval(20, 20, 75, 75); 	       
      }  
    	 public static void main(String[]args)
    	    {
    	      Panneau g = new Panneau(); 
    	    }
    j'ai toujours aucune Output, merci pour vos aides

  4. #4
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Mais non !

    J'ai écrit "il faut mettre le JPanel dans un JFrame pour le voir"
    et non pas remplacer par un JFrame !

    on reprend ton JPanel du début :
    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
     
    import java.awt.Dimension;
    import java.awt.Graphics;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    public class Panneau extends JPanel
    {
      public void paintComponent(Graphics g)
      {	     
        System.out.println("Je suis exécutée!!!");
        g.fillOval(20, 20, 75, 75);   
      }  
     
     
      public static void main(String[]args)
      {
         Panneau pan=new Panneau();     // comme avant !
         
         JFrame frame = new JFrame();   // on fabrique le JFrame
         frame.add(pan);    // ajout du panneau
         frame.setPreferredSize(new Dimension(500, 400));   // sinon il est rikiki !!!
         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);      // pour que le programme s'arrête quand on ferme
         frame.setVisible(true);    // sinon on ne voit rien !
         frame.pack();
      }
     
    }
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Par défaut
    merci pour votre réponse, mais j'écris ainsi,et mon programme marche bien;
    j'ai une question encore pourquoi,il s'affiche deux fois les lignes suivantes

    Je suis exécutée!!!
    Je suis exécutée!!!

    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
     
    import java.awt.Color;
    import java.awt.Graphics;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    public class Panneau extends JPanel
    {
      public void paintComponent(Graphics g)
          {
    	  JPanel g1=new JPanel();   
    	  System.out.println("Je suis exécutée!!!");
    	  g.fillOval(20, 20, 75, 75); 	       
          }  
       public static void main(String[]args)
          {
    	   JFrame frame=new JFrame();
    	   frame.getContentPane().add(new Panneau());
    	   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	   frame.setSize(200, 200);
    	   frame.setVisible(true);
          }
     
    }

  6. #6
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 713
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 713
    Par défaut
    Parce que la méthode paintComponent est appelée chaque fois qu'on bouge le JFrame ou qu'on le redimensionne.
    Il faut donc s'attendre à ce que cette méthode soit appelée souvent.
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/02/2010, 10h51
  2. Jar auto executable : Pas de sortie console
    Par Clorish dans le forum Général Java
    Réponses: 3
    Dernier message: 31/03/2008, 11h09
  3. [MySQL] affichage liste : pas de sortie
    Par Larffas dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/10/2007, 14h12
  4. Réponses: 1
    Dernier message: 21/07/2007, 22h29
  5. [Forms 6i] Update -> Pas de sortie en Exception
    Par macben dans le forum Oracle
    Réponses: 14
    Dernier message: 27/12/2005, 12h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo