Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
cs_diwa
Messages postés6Date d'inscriptionsamedi 3 mai 2008StatutMembreDernière intervention11 juin 2008
-
11 juin 2008 à 00:03
abdouy -
9 sept. 2018 à 12:54
bonjour tous le monde, est ce que vous pouvez m'expliquer c quoi cet erreur:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
A voir également:
Exception in thread "awt-eventqueue-0" java.lang.nullpointerexception: cannot invoke
Awt eventqueue 0 - Meilleures réponses
Exception in thread awt eventqueue 0 java lang nullpointerexception - Meilleures réponses
dvoraky
Messages postés744Date d'inscriptiondimanche 1 avril 2007StatutMembreDernière intervention 9 mai 20108 11 juin 2008 à 08:44
Tu utilises une variable qui est à null et donc, ben t'as une erreur NullPointerException. Elle n'a pas été instanciée ou construite.
Juste après cette ligne d'erreur, il devrait y avoir une ligne avec le nom de ta classe, deux points et un numéro. Ce numéro correspond à la ligne où se trouve l'erreur.
Regarde bien à cette ligne quelle variable ne va pas bien
L'erreur est a cette deuxième ligne !
La première ligne du fichier que je charge n'est pas vide.
Si quelqu'un pouvait m'aider, je me prend la tête sur cette erreur depuis plusieurs heures.
public void dessinerPoint(int x, int y){
tableauDessinGraphique.drawRect(5, 5, 10, 10); //ligne 128
tableauDessinGraphique.setColor(Color.red);
repaint();
}
erreur:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Graphique.dessinerPoint(Graphique.java:128)
Les variables d'entrer sont fait a partir d'un mouse listener qui est dans une autre classe, mais je sais que sa fonctionne,car je fais des print test pour savoir les coordonnées d'ou je click.
Je crois que mon erreur est que l'objet tableauDessinGraphique ne rentre pas directement dans paintComponent pour dessiner sur le panel que jai creer, mais je n'ai aucune idée pourquoi.
Merci d'avance pour votre aide
grenouille199
Messages postés7Date d'inscriptionmercredi 16 février 2011StatutMembreDernière intervention25 février 20111 20 févr. 2011 à 04:13
Bonjour, en résumer, désoler si ce n'est pas a la bonne place pour se sujet, mais c'est la suite la question concernant l'erreur.
Ce que je maimerai, c'Est dans ma class, jai creer un JFrame qui contient un JPanel dont une page de dessin. Dans mon autre class, d'ou que je dessine soit des point, des lignes ou peut importe quelle forme, j'ai la fonction:
public void paintComponent(Graphics g){}. Ce que je voudrais c'est que peut importe la fonction que je cree dans ma 2 class, par exemple dessinerPoint, je voudrais avoir un style de pointeur qui va directement vers ma page de dessin.voici ce que j'ai esseyer,mais qui ne fonctionnait pas.
/*voici le class qui construit la fenetre avec tous les JPanel, les bouttons et tous le reste,incluant des mouse listener, je vous donne ce qui est simplifier*/
public class FenetrePrincipal extends JFrame{
/* Dans cette fonction, je mets la tableau pour dessiner dans le JFrame
private void buidPanelDessin(){
monPointeurAGraphique.setBackground(Color.white);
monPointeurAGraphique.addMouseListener(new PageDessinMouseListener());
add(monPointeurAGraphique, BorderLayout.CENTER);
}
//Le restant des fonctions qui ne sont pas la, c'est des fonction pour des listener, boutton, etc.
}
/* Dans cette class, tous les fonctions sert a dessiner, dont point, ligne, cercle*/
public class Graphique extends JPanel{
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics g2D = (Graphics2D)g;
}
/*valeurX et valeurY, c'Est ou que lutilisateur a clicker sur la page a dessin*/
public void dessinerPixel(int valeurX, int valeurY)
{
int x = valeurX;
int y = valeurY;
g2d.fillRect(x, y, 3, 3);
g2D.setColor(Color.black);
repaint();
}
}
Quand je le compile et je le run, je ne vois pas le point pis sa donne l'erreur qui est plus-haut.
Merci d'avance pour la réponse et pour l'aide.
grenouille199
Messages postés7Date d'inscriptionmercredi 16 février 2011StatutMembreDernière intervention25 février 20111 22 févr. 2011 à 05:14
Bonsoir,
juste pour vous dire que j'ai trouver mon erreur.
il fallait que je mets dans dessinerPixel
public void dessinerPixel(int valeurX, int valeurY)
{
Graphics g = getGraphics();
int x = valeurX;
int y = valeurY;
g.fillRect(x, y, 3, 3);
g.setColor(Color.black);
repaint();
}
Voila la solution de mon problème, merci quand même