didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 2017
-
15 sept. 2007 à 14:44
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 2010
-
15 sept. 2007 à 18:06
Bonjour à tous.
j'ai une class de la forme :
public class G extends JPanel {
private Graphics g = this.getGraphics();
public G (int a, int b) {
dessinerPoint(a, b);
}
[...]
public void dessinerPoint (int a, int b) {
g.drawRect(a, b, 1, 1);
}
[...]
public void paint (Graphics g) {
super.paint(g);
}
}
Lorsque j'exécute la class, j'ai une exception de type NullPointerexception (a la ligne rouge).
Apres m'être renseigné, c'est parce que le composant n'a pas encore été ajouter. Donc comment est ce que je peux faire ?
j'ai pensé à récupérer le graphics du composant apres l'avoir ajouter et le passer en paramètre vers la class G ; au travers d'une fonction "setGraphics(Graphics graphics)"(mais je ne peut pas, il faudrais traiter, a nouveau, les parametres passer pour la construction de la class).
didoux95
Messages postés845Date d'inscriptionmardi 25 avril 2006StatutMembreDernière intervention 1 août 20172 15 sept. 2007 à 17:48
Slt.
je reconnais que c'est bcp plus simple que ce que je fais en ce moment. Cependant, je ne peut pas utiliser cette méthode car dans cette même class, il y a plusieurs fonctions qui dessinent des choses différentes. Donc si je regroupe tout dans une même méthode "paint(...)", je dois traiter "quelle est la demande" "quels sont les paramètres" ... ce qui va être plus long et au final, je pense, moins lisible.
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 15 sept. 2007 à 17:50
stu veux mais le pb c'est que le graphics qui est passe en param tu ne pourras pas le passer toi meme donc au final tu auras un code aussi complique me semble-t-il
"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"