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

2D Java Discussion :

[Débutant] dessiner des carrés


Sujet :

2D Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 15
    Points
    15
    Par défaut [Débutant] dessiner des carrés
    Bonjour a tous,
    Je suis débutant en java et je travail avec la version JBuilerX Perso.

    Voila j ai créé une petit application avec des boutons et j aimerais afficher un carré lorsque je clique sur un de mes boutton. Cependant je n ai pas la moindre idée pour réaliser cette fonction.


    Merci pour votre aide

  2. #2
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 50
    Points : 58
    Points
    58
    Par défaut
    Salut,

    pour cela, il te faut au moins 1 bouton et 1 panel dans lequel dessiner après regardes dans les docs de ce site ou le tutorial JAVA de SUN

    Seb

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    Salut,
    J ai deja crée le panel et le boutton...
    au fait, je cherche le nom d'une fonction qui permet de dessiner. j ai pas trouvé dans les docs que je possède.
    une fois que j ai le nom, je devrais pouvoir m en sortir.

    Merci

  4. #4
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 50
    Points : 58
    Points
    58
    Par défaut
    Salut,

    l'essentiel des fonctions de dessin sont dans java.awt.Graphics mais il y aussi Graphics2D, bref, faut farfouiller dans la javadoc du JDK

    Seb

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    merci, avec ces nom de librairies, je devrais m en sortir

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    J ai réussi a dessiner un carré avec la fonction drawRect.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public void paint(Graphics g){
        super.paint(g);
        g.setColor(Color.black);
        g.drawRect(30, 30, 30, 30);
    }
    Maintenant, j aimerais mettre ce code dans l'action d'un bouton, voila le code que j ai essayé, mais ca ne fonctionen pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void jButton1_actionPerformed(ActionEvent e) {
        jButton1.addActionListener(new ActionListener(){
          public void paint(Graphics g){
            this.paint(g);
            g.setColor(Color.black);
            g.drawRect(30,30,30,30);
          }
        });  
      }
    Qqu aurait une idée?

  7. #7
    Futur Membre du Club
    Inscrit en
    Août 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Essaye ca...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void jButton1_actionPerformed(ActionEvent e) {
        Graphics g= this.getGraphics();
        g.setColor(Color.black); 
        g.drawRect(30,30,30,30); 
      }

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    Salut Kaboom,
    ton code fonctionne, merci beaucoup.

    J aurais encore deux petites questions:

    1ere: lorsque que j utilise ce code, le carré est dessiné par rapport a mon jPanel1 (sauf erreur). Comment faire pour qu il soit dessiné par rapport aux coordonnées de mon jPanel2?

    2eme: Il y a des problèmes de rafraichissement lorsque la fenêtre bouge. Faut-il utilisé une autre fonction que repaint()?

  9. #9
    Futur Membre du Club
    Inscrit en
    Août 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    je sais pas trops ce que tu veux faire, mais bon...

    En fait je pense pas que ton carré soit dessiné par rapport à ton jPanel1, tu as sans doute du faire une application avec un cadre et si c'est ce que je crois, t'as rajouté un panel à ton cadre,mais comme t'as utilisé un border layout, le panel recouvre l'ensemble de ton cadre, en fait avec le code que je t'ai donné, le carré est déssiné par rapport cadre...

    Si tu veux le dessiner par rapport au Panel1, facile:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Graphics g= jPanel1.getGraphics();
    et pour le Panel2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Graphics g= jPanel2.getGraphics();
    Après comme je te l'ai écris ... je sais pas exactement ce que tu fait.. mais moi j'ai pas de problème de scintillement, en tout cas pas en dessinant un carré dans un Panel..

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    ca fonctionne, génial...

    le probleme de rafraichissement se produit lors de l'agradissement de la fenetre par exemple, le carré disparrait :

    en fait, pour mon projet, je doit crée un organigramme avec des carrés (style grafcet). donc a chaque fois que je click sur le bouton un nouveau carré doit apparaitre. J ai réussi sans problème pour un JLabel avec le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    void jButton2_actionPerformed(ActionEvent e) {
        jPanel2.add(new JLabel("new jlabel"));
        jPanel2.validate();
        jPanel2.repaint();
    }
    Par contre c un peu plus dur pour des carrés.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void jButton4_actionPerformed(ActionEvent e) {
        y=y+50;
        Graphics t = jPanel2.getGraphics();
        t.setColor(Color.black);
        t.drawRect(30,y,30,30);
    }
    Merci pour ton aide Kaboom

  11. #11
    Futur Membre du Club
    Inscrit en
    Août 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Mmmouaiss.. je voit, c'est un peut plus compliquer que de dessiner un pauvre carré !

    Alors si c'était moi qui le faisait, je créérai plusieurs classe, une pour chaque forme que tu veux dessiner (Carré, Cercle...) , toutes ces classes dérivent d'une classe Forme. Ensuite tu fait une classe Dessin qui contient une collection de Formes. Après bin quand tu dessine un nouveau carré, tu l'ajoute dans ta collection de formes, et dans le repaint de ton application tu redessine tous les objets crées...

    Sinon c'est normal que ton carré disparaisse, il disparaît quand tu étire ta forme comme tu l'as vus ou si tu met quelque chose en avant plan.. si tu veux pas qu'il disparaisse, il faut redéfinir le paint de la forme et écrire ton code la dedans.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void paint(Graphics g){
        g.setColor(Color.black); 
        g.drawRect(30,30,30,30);     
      }
    Mais ca ira pas pour ce que tu veux faire ...

    En gros voila, en espérant que ca t'aide !

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    ok merci beaucoup pour ton aide, c est vraiment cool.
    Je vais essayer d'utiliser ta methode.
    si jamais, puis je refaire appel a tes services??

  13. #13
    Futur Membre du Club
    Inscrit en
    Août 2004
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Pas de problème.. mais je suis pas souvent sur le forum.. la c'est juste que j'attends une réponse..(qui vient pas d'ailleurs )

    Et heuu.. je part en vacances pendant 2 semaines... 8) mais après ce sera avec plaisir !

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    Genial, merci beaucoup.
    Ca te derrange si je t envoie un MP pour te poser une question?

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

Discussions similaires

  1. Dessiner des milliers de carrés
    Par Obaïd dans le forum MATLAB
    Réponses: 16
    Dernier message: 13/09/2012, 13h38
  2. comment dessiner et déplacer des carrés
    Par ould64 dans le forum 2D
    Réponses: 1
    Dernier message: 05/01/2008, 01h40
  3. [débutant]probleme pour dessiner des shapes
    Par pingoui dans le forum 2D
    Réponses: 8
    Dernier message: 27/08/2007, 20h44
  4. Débutant - Dessiner des lignes
    Par jeromeke22 dans le forum Windows Forms
    Réponses: 11
    Dernier message: 07/05/2007, 22h37
  5. [VB.NET] Débutant / Faire clignoter des carrés.
    Par djmcg dans le forum Windows Forms
    Réponses: 6
    Dernier message: 21/01/2005, 19h36

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