Salut,
j'ai une classe avec getter/setter de ce type :
J'aimerais créer des PropertyDescriptor pour les 4 entrées du tableau rgbaColorChannels.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public int getRGBAColorChannel(int index) { if(index < 0 || index > 3) { index = 0; } return this.rgbaColorChannels[index]; } public void setRGBAColorChannel(int index, int value) { if(index < 0 || index > 3) { index = 0; } if (value < 0) { value = 0; } else if (value > 255) { value = 255; } this.rgbaColorChannels[index] = value; }
J'ai tenté :
Mais j'ai l'exception suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 try { PropertyDescriptor pd = new PropertyDescriptor("r channel", sprite.getClass().getMethod("getRGBAColorChannel", int.class), sprite.getClass().getMethod("setRGBAColorChannel", int.class, int.class)); this.addPropertyDescriptor(pd); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
Y aurait-il un moyen quelconque d'arriver à ce que je souhaite ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part java.beans.IntrospectionException: bad read method arg count: public int VectorialSprite2d.getRGBAColorChannel(int)
Ou au pire y aurait-il moyen de binder une Method sur l'appel d'une autre en précisant des paramètres ?arf pas très clair tout ça. L'idée serait de créer une nouvelle Method basée sur l'appel d'une existante avec des paramètres, pour l'exemple un truc du style :
getRChannel() bindée sur getRGBAChannel(0), sans créer évidemment getRChannel() dans la classe de base, juste pour la passer en tant que ReadMethod au PropertyDescriptor.
Merci d'avance.
Partager