Grand nombre d'objets avec un numéro variable ? Autre solution?

Fermé
hemistiches24 Messages postés 2 Date d'inscription dimanche 25 octobre 2015 Statut Membre Dernière intervention 26 octobre 2015 - 25 oct. 2015 à 14:06
KX Messages postés 16760 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 26 oct. 2015 à 17:52
Bonjour,

Je débute en programmation java, j'utilise NetBeans et lorsque j'ai un grand nombre d'objets, j'ai un souci de temps pour une condition simple :
Par exemple j'ai une grille de 4 x 4, donc 16 boutons identiques, nommés btn1, btn2, btn3, btn4, btn5, etc.. J'utilise une fonction aléatoire pour attribuer à une variable "n" un nombre compris entre 1 et 16, et à partir de ça l'idée c'est de pouvoir utiliser cette variable pour directement accéder au bouton correspondant, j'aurais écris btn[n].setEnabled(false); (je veux aléatoirement désactiver un bouton de ma grille), ça ne fonctionne pas, ça aurait été trop beau ! Le seul moyen que j'ai c'est d'écrire 16 conditions, et c'est un peu long, pire si j'ai 20 * 20 boutons...
Je voudrais savoir s'il y a un moyen de d'utiliser cette variable "n" pour accéder rapidement à mes boutons, où s'il y a une toute autre solution à mon problème, j'ai pensé à un système de coordonnées (i,j) pour mes boutons, mais je ne sais pas comment m'y prendre.

J'espère que vous aurez une réponse à ma question,
Merci d'avance !
A voir également:

1 réponse

KX Messages postés 16760 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
25 oct. 2015 à 19:20
Bonjour,

Le système de coordonnées est une bonne idée, cela revient tout simplement à faire un double tableau :

btn[i][j].setEnabled(false);
0
hemistiches24 Messages postés 2 Date d'inscription dimanche 25 octobre 2015 Statut Membre Dernière intervention 26 octobre 2015
26 oct. 2015 à 12:51
Merci pour ta réponse, mais comment je dois m'y prendre pour déclarer un bouton avec des coordonnées et pouvoir l'utiliser de la façon dont tu l'as indiqué ?
0
KX Messages postés 16760 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
26 oct. 2015 à 17:52
Voici par exemple la partie création de chaque bouton. Le système de boucle est toujours le même quoi que tu fasses ensuite avec tes boutons.

int w=10, h=10;
JButton[][] buttons = new JButton[w][h];
for (int y=0; y<h; y++)
for (int x=0; x<w; x++)
   buttons[x][y] = new JButton();
0