begin process at 2012 02 15 11:53:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Divers

 > 

quesion pour dessiner


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

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

Administrateur CodeS-SourceS

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

Administrateur CodeS-SourceS

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

Administrateur CodeS-SourceS

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

Administrateur CodeS-SourceS

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

neodante

Administrateur CodeS-SourceS

Neodante

Met plutot ça :
if (g == null)
this.g= g;
Petit prob de signe ...
@+

[Responsable www.neogamedev.com]

1 2

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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,087 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales