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
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|