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 :

Insérer une forme géométrique dans un jpanel


Sujet :

Java

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Insérer une forme géométrique dans un jpanel
    Bonjour,
    apres pas mal de lecture :-/ je poste sur ce forum pour avoir un peu d'aide sur qqch qui ne me semble(semblait) pas compliqué...

    en bref, j'utilise Netbeans pour faire mon interface graphique, donc j'ai un "main" FenetreBackground extends javax.swing.JFrame généré automatiquement.
    J'ai ajouté un jpanel et je voudrais dessiner des formes simples dedans pour commencer et tout ce que jarrive à faire c'est dessiner sur une nouvelle fenetre... or je voudrais dessiner sur la premiere fenetre et dans mon jpanel...
    qqn saurait me guider ?

  2. #2
    Membre habitué Avatar de erictoguem
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    150
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 150
    Points : 187
    Points
    187
    Par défaut
    Faut surcharger la methode paint du pannel et dessiner dedans

  3. #3
    Membre habitué Avatar de arnaud036
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 172
    Points
    172
    Par défaut
    Où tu peux aussi utiliser la Classe "Canvas"

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Redéfinie la méthode paintComponent(Graphics g) dans la classe qui hérite du JPanel.

  5. #5
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Je tente en vain de faire avec la surcharge de la méthode paint. voici le code de l'element que je souhaite dessiner sur mon jpanel:
    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
    package Element;
     
    import java.awt.*;
    import javax.swing.*;
     
    public class DebutProgramme extends JPanel {
     
        public void paint(Graphics g) {
            super.paint(g);
            g.setColor(Color.RED);
            g.fillRect(0, 0, 40, 80); //x,y du coin supérieur gauche de la forme puis width et height
            g.setColor(Color.BLUE);
            g.fillOval(150, 50, 80, 80);
            System.out.println("test1");
        }
     
        public static void showOnPanel(JComponent component,JPanel jPanel1) {
            jPanel1.add(component);
            jPanel1.setVisible(true);
            System.out.println("test2");
        }
    }
    et pour commencer j'ai mis l'appel dans le constructeur de mon jframe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            DebutProgramme dp = new DebutProgramme();
            DebutProgramme.showOnPanel(dp,jPanel1);
            dp.repaint();
    sans grande conviction... je me suis basé sur un cours trouvé sur le site n'ayant jamais fait d'interface graphique (*soupir et regrette son mode console*)

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 847
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Apparement ton composant n'a pas de taille. Donc soit tu lui en donnes une manuellement avec setSize() et setPreferredSize(), soit tu utilises un layout, le BorderLayout par exemple qui calculera cette taille de lui-meme.

    parent.setLayout(new BorderLayout());
    parent.add(enfant, BorderLayout.CENTER);


    Idem pour l'ajout du panel dans la JFrame.

  7. #7
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2008
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Merci du conseil.
    J'ai recommencé à zero sans le GUI builder de Netbeans et j'ai mieux compris le systeme, je pense que ca ira pour la suite.

    En bref, je déconseille d'utiliser le GUI Builder de Netbeans pour les debutants...

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

Discussions similaires

  1. [XL-2010] Insérer une forme géométrique avec texte dans une cellule excel
    Par stephJP dans le forum Excel
    Réponses: 2
    Dernier message: 23/05/2014, 09h31
  2. [XL-2007] Insérer des formes géométriques dans une cellule Excel
    Par atoffoli75 dans le forum Conception
    Réponses: 3
    Dernier message: 22/11/2010, 13h52
  3. <canvas>Placer une forme géométrique dans une autre
    Par Hydre dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 13/05/2009, 23h42
  4. [HTML 5] placer une forme géométrique dans une autre
    Par Hydre dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/05/2009, 12h24
  5. Réponses: 3
    Dernier message: 18/04/2009, 20h51

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