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
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.
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