nullpointerexeption. - Java - Programmation
Marsh Posté le 04-02-2003 à 22:55:06
Copie/colle le message d'erreur complet que te donne le compilo, pleaze...
Marsh Posté le 04-02-2003 à 22:55:28
fykman a écrit : Copie/colle le message d'erreur complet que te donne le compilo, pleaze... |
le compilo sortira pas une nullPointerException
Marsh Posté le 04-02-2003 à 22:57:26
--greg-- a écrit : le compilo sortira pas une nullPointerException |
merde, ok , je parlais de la JVM....
Marsh Posté le 04-02-2003 à 22:57:36
et a quel endroit? je crois que le problème est clair: tu as une référence à un objet invalide (NULL) qui venir ssoit du fait que tu as oublier d'instancier un objet (ou de le référencer) soit du fait que cette instanciation (ou obtention de référence) échoue.
Marsh Posté le 04-02-2003 à 22:58:27
++Taz a écrit : et a quel endroit? je crois que le problème est clair: tu as une référence à un objet invalide (NULL) qui venir ssoit du fait que tu as oublier d'instancier un objet (ou de le référencer) soit du fait que cette instanciation (ou obtention de référence) échoue. |
C'est getGraphics() qui renvoie null...
Marsh Posté le 04-02-2003 à 22:58:46
si tu veux dessiner dans le canvas faut surcharger
Code :
|
là, ton getGraphics() renvoie null
Marsh Posté le 04-02-2003 à 22:59:03
Code :
|
et ça viens pas de la compilation mais de l'execution. dommage...
ça emepeche pas ke je veu bien ke tu m'aide evidament.
mais perso j'aime pas les nullpointer exception, je sait jamais ce ki burne.
Marsh Posté le 04-02-2003 à 22:59:24
il est probable que ton objet spc soit "null"
... faut voir pq la methode getGraphics renvoie null ...
Marsh Posté le 04-02-2003 à 23:00:10
--greg-- a écrit : il est probable que ton objet spc soit "null" |
Ca fait deux fois que je lui dis....
Lunatik3> gloop a raison tu dois surcharger la method paint pour pouvoir recuperer l'environnement graphique de ton objet.
Marsh Posté le 04-02-2003 à 23:00:31
--greg-- a écrit : il est probable que ton objet spc soit "null" |
au moment de la construction le Graphics n'est pas encore dispo, d'ou le null
Marsh Posté le 04-02-2003 à 23:01:42
gloop a écrit : |
oui bon ça va, je l'ai vu que j'etais grillé
Marsh Posté le 04-02-2003 à 23:08:08
dc faut ke je refasse une methode paint c ça? ou j'appelle l'original juste aprés : Graphics spc = getGraphics(); (j'ai essayer la derniere et ça marchais pas.
merci de vos reponse fulgurante en tt cas. la je dois dire je suis impressionner.
Marsh Posté le 04-02-2003 à 23:10:26
oui et tu vires aussi ton this.drawSpectre();
Code :
|
Marsh Posté le 04-02-2003 à 23:10:44
tu surcharges paint() en appelant super.paint() puis ton fait ton petit bizness derriere
apres, plus besoin d'appeler ta methode maison dans ton constructeur, aussi..
Marsh Posté le 04-02-2003 à 23:11:02
gloop a écrit : oui et tu vires aussi ton this.drawSpectre(); |
arrete de me griller tout le temps
Marsh Posté le 04-02-2003 à 23:14:24
--greg-- a écrit : tu surcharges paint() en appelant super.paint() puis ton fait ton petit bizness derriere |
il est pas obligatoire le super.paint () (cf doc)
Marsh Posté le 04-02-2003 à 23:16:50
ça y est ça marche. merci les gars. pour de la performance, c de la performance. super merci. la j'aurai pas trouver tt seule.
Marsh Posté le 04-02-2003 à 23:17:45
Code :
|
bon voila le code final. et merci
Marsh Posté le 04-02-2003 à 23:18:02
ReplyMarsh Posté le 04-02-2003 à 23:18:52
LunatiK3 a écrit :
|
vire moi cette methode getGraphics() non de dieu !
Marsh Posté le 04-02-2003 à 23:27:53
LunatiK3 a écrit : c fait. comment ça ce fait ke ça tourne sans? |
le graphics est passé en paramètre à paint ().
t'aurais pu lire le code avant de faire un copier/coller
Marsh Posté le 04-02-2003 à 23:30:15
LunatiK3 a écrit : c fait. comment ça ce fait ke ça tourne sans? |
Pour vraiment comprendre le pourquoi de tout ca, il faudrait que tu bosses un peu les tutoriaux de Sun sur Swing ou AWT qui sont tres bien fait...
Marsh Posté le 04-02-2003 à 23:32:18
j'ai pas fait de copier coller, j'ai vu ke le graphics est foutu en parametre. Non c bon j'ai capter. qd paint est appeler il existe deja un graphics (on a pas besoin d'un creer un).
alors a koi ça sert getGraphics() alors. ds mon derneier prjet prog (je suis en iut info)les prof ds la source de base ils en mettais pas mal des getGraphics () et j'en ai rajouter un ou deux.
Marsh Posté le 04-02-2003 à 23:35:56
LunatiK3 a écrit : j'ai pas fait de copier coller, j'ai vu ke le graphics est foutu en parametre. Non c bon j'ai capter. qd paint est appeler il existe deja un graphics (on a pas besoin d'un creer un). |
2 propositions :
- soit il utilise getGraphics() dans les cas ou c'est rellement necessaire et ce n'est pas le cas ici
- soit il code avec ses pieds
pour savoir laquelle de ces propositions est juste je te propose de lire ce que j'ai posté juste avant....
Marsh Posté le 04-02-2003 à 23:37:53
gloop a écrit : |
Marsh Posté le 04-02-2003 à 23:38:26
ouai ok bosser le tut de sun sur awt et swing. je verais. merci.
Marsh Posté le 04-02-2003 à 23:43:16
tant k'on y ai vous avez pas une methode plus cool, pour dessiner 1 pixel, parce ke le drawRect() c un peu sortir le char à boeus. j'ai pas trouvez mieux. ds graphics j'ai pas vu mieu en faites.
Marsh Posté le 05-02-2003 à 09:52:37
drawLine(). Je sais, c'est un peu mieux mais pas beaucoup. Mais il n'y a pas de plot() ou de drawPoint().
Marsh Posté le 05-02-2003 à 13:03:05
en faite j'ai hesiter entre les deux methode. j'esperai k'il y avait mieu mais tanpis.
merci
Marsh Posté le 05-02-2003 à 13:23:31
c génial Java, obligé de dessiner une ligne ou un rectangle pour un simple pixel
trodlaballe ce langage
Marsh Posté le 05-02-2003 à 14:33:32
La notion de pixel n'a de sens que lorsqu'on manipule la mémoire vidéo dans une résolution donnée. Et les programmes de haut niveau comme les programmes Java ne sont pas censés travailler dans une résolution donnée (bien sûr quand on manipule un bitmap, c'est un peu différent).
De toute façon, quiconque a travaillé sur les algorithmes bas-niveau de dessin vous confirmera que dessiner une ligne dont les points de départ et d'arrivée sont les mêmes n'est pas plus coûteux que dessiner un point.
Marsh Posté le 04-02-2003 à 22:49:45
Salut
bon voici une classe, d'un prog ke je fait en ce moment et le truc c ke j'ai un problem avec la class Graphics (enfin je pense ke ça vient de la) il me met un nullpointer exception et je vois pas pourkoi.
une idée?