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 :

dessiner un objet héritant de la classe component


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 16
    Par défaut dessiner un objet héritant de la classe component
    Je souhaiterais afficher des objets perso qui héritent de la classe component, pour cela je les insère dans un JPanel, qui est lui même inséré dans une JFrame, mais je n'arrive pas à afficher le contenu de mes objet dans lesquel je trace un rectangle dans leur methode paint.
    Comment faire??
    merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2006
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 238
    Par défaut
    Salut,

    Peut tu nous montrer un peu de code stp?

    Sinon tu redéfini la méthode paint? essai de redéfinir la méthode paintComponents plutot c'est plus propre.

    a+

  3. #3
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 16
    Par défaut mon code
    voilà mon code
    pour la classe heritant du component :
    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
    public class maille extends JComponent{
     
    	public void paint(Graphics gr)
    	{
    		gr.drawRect(12, 12, 12, 12);
     
     
    	}
    	public void paintComponent(Graphics g) 
    	{
    		super.paintComponent(g);
     
    		g.drawRect(12, 12, 12, 12);
     
    	}
     
    }
    pour la classe héritant du 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
     
    public class pane extends  JPanel{
     
    	public pane()
    	{
    		this.setLayout(new FlowLayout());
    		this.add(new maille());
     
    	}
    	public void paintComponent(Graphics g) 
    	{
    		super.paintComponent(g);
     
    	}
     
     
    }
    our la classe heritant de Jform
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class form1 extends JFrame{
     
    	public form1()
    	{
    		pane oo=new pane();
    		this.add(oo);
    		this.setSize(200, 200);
    		this.setVisible(true);
    	}
    }
    voilà si vous pouvez m'aider car je n'obtient donc pas de rectangle qui devrait être tracé par l'objet maille
    merci

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Alors quelque conseils en vrac

    Tout d'abord renseigne toi sur les conventions de codage en java: ftp://ftp-developpez.com/cyberzoide/java/JavaStyle.pdf

    Deuxièmement, en ce qui concerne les JComponents (c'est à dire tous les objets Swing à l'exception des fenêtres( JFrame, JWindow, JDialog)) il ne faut redéfinir que la méthode paintComponent(Graphics G) si l'on veut faire du dessin, en effet la méthode paint réalise une série d'opérations dont un appel à paintComponent();

    Donc pour ta class Maille tu auras ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    public class Maille extends JComponent{
     
        public void paintComponent(Graphics g) 
        {
            super.paintComponent(g);
     
            g.drawRect(12, 12, 12, 12);
     
        }
     
    }

    Ensuite pour ta classe Pane, pas besoin de redéfinir paintCOmponent vu que tu ne fais rien dedans...

    ++

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/05/2014, 09h49
  2. Réponses: 5
    Dernier message: 18/12/2009, 17h05
  3. Réponses: 2
    Dernier message: 03/09/2009, 16h57
  4. Réponses: 2
    Dernier message: 30/05/2006, 15h26
  5. Dessin d'objets 2D en cliquer-deplacer
    Par Korea dans le forum OpenGL
    Réponses: 9
    Dernier message: 10/01/2005, 03h46

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