Accueil > Forum > > > > quesion pour dessiner
quesion pour dessiner
jeudi 4 novembre 2004 à 12:37:56 |
quesion pour dessiner

niko29940242
|
bonjour j'aimerai savoir sil est possible de dessiner dans une methode autre que paintComponent ou paint par exemple avec une methode du type Dessiner(Graphics g , int x, int y ) ou x et y sont des coordonnées pour une image a afficher parce ke moi j'ai essayer, ca ne me met pas d'erreur a la compilation mais ensuite j'ai un null pointer execption et rien ne s'affiche si kelkun peu m'aider ca serait sympa !!! NiKo [==;;;;;;;;;;;>
|
|
jeudi 4 novembre 2004 à 14:00:20 |
Re : quesion pour dessiner

neodante
|
 Neodante  Du moment que tu as un objet Graphics valide (souvent passé par la méthode paint(), y a pas de soucis ... sinon il ne faut pas espérer que l'objet Graphics tombe du ciel ... Tu passe l'objet graphics de paint à une autre méthode et zou ... @+ [Responsable www.neogamedev.com]
|
|
jeudi 4 novembre 2004 à 22:27:28 |
Re : quesion pour dessiner

niko29940242
|
bah non justemen pas zou =] voici mon code :
public class Terrain extends JPanel implements MouseListener { Graphics g ; public int[] tab = new int[8]; public boolean[] test = new boolean[8]; public int i = 0; // croix ImageIcon imIc = new ImageIcon("croix.gif"); Image croix = imIc.getImage(); // rond ImageIcon imIc2 = new ImageIcon("rond.gif"); Image rond = imIc2.getImage();
public int x , y; JButton j1; JButton j2;
public Terrain() { addMouseListener(this); j1 = new JButton("joueur1"); j2 = new JButton("joueur2"); j1.setBackground(Color.white); j2.setBackground(Color.white); add(j1); add(j2); j1.setEnabled(true); j2.setEnabled(false); repaint(); } public void paintComponent (Graphics g) { int i;
super.paintComponent(g); g.drawRect(102,152,40,40);
for(i=0;i<13;i++) { g.drawLine(90+i,100,90+i,244); g.drawLine(142+i,100,142+i,244); g.drawLine(50,140+i,194,140+i); g.drawLine(50,191+i,194,191+i); } }
public void mouseEntered(MouseEvent evt) { } public void mouseExited(MouseEvent evt) { } public void mousePressed(MouseEvent evt) { } public void mouseReleased(MouseEvent evt){ } public void mouseClicked(MouseEvent evt) { Object source = evt.getSource(); x = evt.getX(); y = evt.getY(); // on definit les contours des cases // case 1 test[0] = (x>=50) & (x<=90) & (y>=100) & (y<=140); if(test[0] == true ) { x = 50; y = 100; DessinerRond ( g,x, y); } }
public void DessinerRond(Graphics g, int x , int y) { g.drawImage(rond,40,40,null); }
}
en fait je voudrai que ca affiche l'image rond mais ya pas moyen tu sais pkoi ??? thx
NiKo [==;;;;;;;;;;;>
|
|
jeudi 4 novembre 2004 à 23:34:42 |
Re : quesion pour dessiner

neodante
|
 Neodante  Parce que tu n'initialises ta variable Graphics g à aucun moment !!! g est donc toujours égal à null !! fais le test (g == null) et affiche un message dans la console ... @+ [Responsable www.neogamedev.com]
|
|
jeudi 4 novembre 2004 à 23:44:33 |
Re : quesion pour dessiner

niko29940242
|
comment ca l'initialiser, je pensais pas qu'il fallait quelle valeur je peux lui donné? kestion peu etre stupide mais bon !!! thx NiKo [==;;;;;;;;;;;>
|
|
jeudi 4 novembre 2004 à 23:50:30 |
Re : quesion pour dessiner

neodante
|
 Neodante  Pour le faire à l'arrache dans ta fonction paint() : if (g != null) this.g= g; Attention tu as nommé ta variable membre (de ta classe) pareille que ton paramètre, d'où l'utilisation de this ... @+ [Responsable www.neogamedev.com]
|
|
jeudi 4 novembre 2004 à 23:51:11 |
Re : quesion pour dessiner

niko29940242
|
pkoi le graphics de la methode paintComponent ne doit pas etre initialisé si celui ci doit y etre?
NiKo [==;;;;;;;;;;;>
|
|
vendredi 5 novembre 2004 à 00:00:28 |
Re : quesion pour dessiner

neodante
|
 Neodante  Attention tu as mis un paramètre qui se nomme g dans ta méthode paint(), cela ne signifie que cela va être affecté à ta variable de classe g. Elles ont le même nom c'est tout !!! La variable g que tu envois à paintComponent est la variable locale à ta méthode, celle qui contient l'objet Graphics valide tant convoitée ... ta variable de classe elle ne bouge pas ... c'est elle que j'appelle quand je fais this.g pour éviter le conflit de nom de variable créée par ton paramètre qui se nomme pareil ... Mais ajoute les lignes de code que je t'ai mis et je paris que cela marche ! @+ [Responsable www.neogamedev.com]
|
|
vendredi 5 novembre 2004 à 00:09:58 |
Re : quesion pour dessiner

niko29940242
|
bah ca non ta perdu ton pari lol en fait je n'ai pas d'erreur a la compile mais ensuite kan je clike sur la fentre pour faire aparaitre l'image rond alor j'ai un nullpointer execption
au fait on a parié koi ??? lol
NiKo [==;;;;;;;;;;;>
|
|
vendredi 5 novembre 2004 à 00:13:05 |
Re : quesion pour dessiner
|
Cette discussion est classée dans : int, methode, dessiner, quesion
Répondre à ce message
Sujets en rapport avec ce message
methode externe à paint() permettant de dessiner un objet [ par AlphaSurfeur ]
Bonjour, je cherche à creer un objet (un bonhomme ou autre) par une methode que je peux appeller à partir de la methode paint de mon JFrame.Merci d'av
dessiner une image [ par qhhu ]
Salut J'ai un probleme pour dessiner une image avec java.awt.Graphics2D ...J'utilise la méthode public abstract boolean drawImage(Image im, int x, in
dessiner en java [ par monpseudonom ]
Salut,je veux desiner un losange en java.Pour cela j'ai utiliser le code suivant:int x={40,30,40,50};int y={40,30,40,50};Graphics g=jpanel.getGraphics
est ce que vous pouver corriger mon petit exo? [ par zmeksi ]
salut tt le monde ,est ce que vous pouver me corriger ma solution a cet petit exercice en programmation (java)? Ecrire une methode qui prend comme pa
dessiner un trait pixel par pixel [ par PAFounet ]
Bonsoir tout le monde, désolé de vous déranger mais j'ai un pitit problème et j'espère que vous pourrez m'aider à le résoudre... Alors voila, je me su
Problème pour dessiner un histogramme. [ par PascalCmoa ]
Bonjour à tous,Voilà, je me lance dans la programmation en Java. Je suis en train d'ecrire une applet qui me permet de tracer un histogramme à bande.
Inetger vs compareTo [ par ch3mical ]
Bonjour j'ai un problème avec la méthode compareTo de la classe comparable Si j'utilise cette méthode pour comparer des String je n'ai pas de probl
passer de int[] a Bytes[] [ par chocho14 ]
bonjour,comment passer d'un tableau d'entier a un tableau de bytes?
donnez votre opinion sur notre messagerie instantanée en java [ par mitsew ]
Bonjour, N
Aide trés urgent [ par nejah_zouari ]
Bonjour,J'ai à développer une application de dessin collaboratif avec RMI.Lors de l'envoi de message sous forme de chaine de caractères tous se passeb
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|