j'ai un ensemble de NSButton (l'équivalent des JButton mais en Cocoa) :
public NSButton descriptionChkBox;
public NSButton regionChkBox;
[...]
public NSButton drinkWithChkBox;
puis ces mêmes boutons en array :
public NSButton bottlesCheckBoxes[] = {descriptionChkBox,
regionChkBox, [...], drinkWithChkBox};
plus loin, si je fais :
NSButton checkBox = new NSButton();
checkBox = (NSButton) bottlesCheckBoxes[i];
(avec i au bonnes valeurs)
j'ai chechbox == null d'où le NullPointerException
par contre si je fais :
checkBox = (NSButton) descriptionChkBox;
(donc quelque soit i, pour essai)
je n'ai pas NullPointerException et je ne comprend pas mon erreur...
--
une bévue
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
damien guerin
Moi ça me choque pas : descriptionChkBox, regionChkBox, drinkWithChkBox ne sont pas instanciés quand tu les mets en tableau...
Par contre, pourquoi faire un cast checkBox = (NSButton) bottlesCheckBoxes[i]; alors que bottlesCheckBoxes contient déjà des NSButton??
Pourquoi tu instancie checkBox alors que à la ligne d'après tu éclases l'objet? NSButton checkBox = new NSButton(); checkBox = (NSButton) bottlesCheckBoxes[i];
Moi ça me choque pas : descriptionChkBox, regionChkBox,
drinkWithChkBox ne sont pas instanciés quand tu les mets en tableau...
Par contre, pourquoi faire un cast checkBox = (NSButton)
bottlesCheckBoxes[i]; alors que bottlesCheckBoxes contient déjà des
NSButton??
Pourquoi tu instancie checkBox alors que à la ligne d'après tu
éclases l'objet?
NSButton checkBox = new NSButton();
checkBox = (NSButton) bottlesCheckBoxes[i];
Moi ça me choque pas : descriptionChkBox, regionChkBox, drinkWithChkBox ne sont pas instanciés quand tu les mets en tableau...
Par contre, pourquoi faire un cast checkBox = (NSButton) bottlesCheckBoxes[i]; alors que bottlesCheckBoxes contient déjà des NSButton??
Pourquoi tu instancie checkBox alors que à la ligne d'après tu éclases l'objet? NSButton checkBox = new NSButton(); checkBox = (NSButton) bottlesCheckBoxes[i];
une.bevueVOTEZ
damien guerin wrote:
Moi ça me choque pas : descriptionChkBox, regionChkBox, drinkWithChkBox ne sont pas instanciés quand tu les mets en tableau...
ok, merci, je pige +/- car ce qui marche maintenant :
public NSButton descriptionChkBox; public NSButton regionChkBox; [...] public NSButton drinkWithChkBox;
puis, plus loin (dans mon "public void awakeFromNib() {...}" càd quand l'ui apparaît) :
oui, l'instanciation des "descriptionChkBox" et autres doit-être faite automatiquement par Cocoa d'où la nécessité de mettre le tableau après cette instanciation càd dans awakeFromNib() où l'ui est apparue...
Par contre, pourquoi faire un cast checkBox = (NSButton) bottlesCheckBoxes[i]; alors que bottlesCheckBoxes contient déjà des NSButton??
oui, c'est inutile de caster...
Pourquoi tu instancie checkBox alors que à la ligne d'après tu éclases l'objet? NSButton checkBox = new NSButton(); checkBox = (NSButton) bottlesCheckBoxes[i];
un essai bidon, en fait j'utilisait :
NSButton checkBox = bottlesCheckBoxes[i]; -- une bévue
damien guerin <damien.guerin2@wanadoo.fr> wrote:
Moi ça me choque pas : descriptionChkBox, regionChkBox,
drinkWithChkBox ne sont pas instanciés quand tu les mets en tableau...
ok, merci, je pige +/- car ce qui marche maintenant :
public NSButton descriptionChkBox;
public NSButton regionChkBox;
[...]
public NSButton drinkWithChkBox;
puis, plus loin (dans mon "public void awakeFromNib() {...}" càd quand
l'ui apparaît) :
oui, l'instanciation des "descriptionChkBox" et autres doit-être faite
automatiquement par Cocoa d'où la nécessité de mettre le tableau après
cette instanciation càd dans awakeFromNib() où l'ui est apparue...
Par contre, pourquoi faire un cast checkBox = (NSButton)
bottlesCheckBoxes[i]; alors que bottlesCheckBoxes contient déjà des
NSButton??
oui, c'est inutile de caster...
Pourquoi tu instancie checkBox alors que à la ligne d'après tu
éclases l'objet?
NSButton checkBox = new NSButton();
checkBox = (NSButton) bottlesCheckBoxes[i];
un essai bidon, en fait j'utilisait :
NSButton checkBox = bottlesCheckBoxes[i];
--
une bévue
oui, l'instanciation des "descriptionChkBox" et autres doit-être faite automatiquement par Cocoa d'où la nécessité de mettre le tableau après cette instanciation càd dans awakeFromNib() où l'ui est apparue...
Par contre, pourquoi faire un cast checkBox = (NSButton) bottlesCheckBoxes[i]; alors que bottlesCheckBoxes contient déjà des NSButton??
oui, c'est inutile de caster...
Pourquoi tu instancie checkBox alors que à la ligne d'après tu éclases l'objet? NSButton checkBox = new NSButton(); checkBox = (NSButton) bottlesCheckBoxes[i];
un essai bidon, en fait j'utilisait :
NSButton checkBox = bottlesCheckBoxes[i]; -- une bévue
UrukHai
Je trouve beaucoup d'erreur dans ton code. Tout d'abord à la déclaration de tes fields : tu déclares un tableau et tu le remplie sans même avoir pris le temps de les instancier. C'est normal que tu te trouve avec un nullPointerexception. Moi j'aurai fait comme ça :
public NSButton descriptionChkBox; public NSButton regionChkBox; [...] public NSButton drinkWithChkBox; public NSButton[] bottlesCheckBoxes;
publi void init(){ descriptionChkBox = new NSButton(); regionChkBox = new NSButton(); [...] drinkWithChkBox = new NSButton(); bottlesCheckBoxes = new NSButton[]{descriptionChkBox, regionChkBox, [...], drinkWithChkBox}; }
et après tu peux travailler normalement...sans nullpointerexception J'espère t'avoir aidé ;)
Je trouve beaucoup d'erreur dans ton code.
Tout d'abord à la déclaration de tes fields : tu déclares un tableau
et tu le remplie sans même avoir pris le temps de les instancier.
C'est normal que tu te trouve avec un nullPointerexception.
Moi j'aurai fait comme ça :
public NSButton descriptionChkBox;
public NSButton regionChkBox;
[...]
public NSButton drinkWithChkBox;
public NSButton[] bottlesCheckBoxes;
publi void init(){
descriptionChkBox = new NSButton();
regionChkBox = new NSButton();
[...]
drinkWithChkBox = new NSButton();
bottlesCheckBoxes = new NSButton[]{descriptionChkBox,
regionChkBox, [...], drinkWithChkBox};
}
et après tu peux travailler normalement...sans nullpointerexception
J'espère t'avoir aidé ;)
Je trouve beaucoup d'erreur dans ton code. Tout d'abord à la déclaration de tes fields : tu déclares un tableau et tu le remplie sans même avoir pris le temps de les instancier. C'est normal que tu te trouve avec un nullPointerexception. Moi j'aurai fait comme ça :
public NSButton descriptionChkBox; public NSButton regionChkBox; [...] public NSButton drinkWithChkBox; public NSButton[] bottlesCheckBoxes;
publi void init(){ descriptionChkBox = new NSButton(); regionChkBox = new NSButton(); [...] drinkWithChkBox = new NSButton(); bottlesCheckBoxes = new NSButton[]{descriptionChkBox, regionChkBox, [...], drinkWithChkBox}; }
et après tu peux travailler normalement...sans nullpointerexception J'espère t'avoir aidé ;)
une.bevueVOTEZ
UrukHai wrote:
Tout d'abord à la déclaration de tes fields : tu déclares un tableau et tu le remplie sans même avoir pris le temps de les instancier.
ouais, mais là, je suis en Cocoa-Java pas en Swing-Java et les instanciations de mes NSButton se font toutes seules mais APRES avoir rempli le tableau : NSButton[] bottlesCheckBoxes, c'est là où je me suis laisser avoir. -- une bévue
UrukHai <nicolas.gu@gmail.com> wrote:
Tout d'abord à la déclaration de tes fields : tu déclares un tableau
et tu le remplie sans même avoir pris le temps de les instancier.
ouais, mais là, je suis en Cocoa-Java pas en Swing-Java et les
instanciations de mes NSButton se font toutes seules mais APRES avoir
rempli le tableau : NSButton[] bottlesCheckBoxes, c'est là où je me suis
laisser avoir.
--
une bévue
Tout d'abord à la déclaration de tes fields : tu déclares un tableau et tu le remplie sans même avoir pris le temps de les instancier.
ouais, mais là, je suis en Cocoa-Java pas en Swing-Java et les instanciations de mes NSButton se font toutes seules mais APRES avoir rempli le tableau : NSButton[] bottlesCheckBoxes, c'est là où je me suis laisser avoir. -- une bévue