Bonjour,
Il ne semble pas que la partie Cocoa de ce site soit aussi vivante que celle consacrée à Java. Essayons tout de même...
Après des années de Java, je me lance dans ObjectivC/Cocoa. Super!
Je voulais donc adapter un logiciel fait en Java pour bénéficier des méthodes plus complètes de Cocoa. Dans ce logiciel, j'avais fait des tableaux de boutons initialisés grâce à des tableaux de valeurs et une grille de placement sur la fenêtre.
Le code était du genre :
1 2 3 4 5 6 7 8 9 10 11 12 13
| for (int i = 0; i<66; i++){
BoutonTriangle[i] = new JButton();
BoutonTriangle[i].setPreferredSize(new Dimension(10,10));
GBC.gridx = (XTriangle[i]+2); GBC.gridy = (YTriangle[i]+2);
GBC.gridwidth = 2; GBC.gridheight = 2;
GBC.weightx = 2; GBC.weighty = 2;
BoutonTriangle[i].addActionListener
(new EcouteBoutonTriangle (i, ValCoul, ValTri, ValPal, Tab, palette, action));
BoutonTriangle[i].setBackground(
Color.getHSBColor(action.getHueFond(), ValTri[i].getSaturation(),
ValTri[i].getBright()));
add (BoutonTriangle[i], GBC);
} |
Ce code permettait de créer en quelques lignes 66 boutons, puis 44 pour une autre série, et enfin 24 pour la dernière, avec placement, couleur, et écoute (l'équivalent Java du IBAction).
En Cocoa, j'ai vu les "matrix", mais j'ai dû dériver NSButton pour les mettre en couleur, et les CustomView utilisées dans InterfaceBulder ne semblent pas être "matriciables" (pardon pour le barbarisme).
Verriez-vous une possibilité autre que de rentrer 134 IBOutlet et autant de IBActions dans le code de ObjectivC? (cent trente quatre, et plus encore!! mais les autres sont des boutons Aqua normaux, et il n'y en a pas trop)
Merci d'avance si vous avez une idée.
Partager