Désactiver plusieurs boutons à la fois - swing [Résolu]

aurelien0306 181 Messages postés jeudi 27 février 2003Date d'inscription 2 mars 2009 Dernière intervention - 24 nov. 2004 à 17:04 - Dernière réponse : aurelien0306 181 Messages postés jeudi 27 février 2003Date d'inscription 2 mars 2009 Dernière intervention
- 27 nov. 2004 à 13:27
Bonjour,
voila dans mon programme j'ai plusieurs boutons qui font office de pavé numérique et j'aimerais par exemple qu'ils soient tous désactivables en une seule ligne (plutot que de taper 10 fois la meme ligne pour les 10 boutons)...
j'avais pensé à un jPanel mais en touchant à rien et en appelant setEnabled(false) dessus ben les boutons à l'intérieur sont toujours actifs...
comment faire??
merci d'avance :shy)

un newbie en swing
-------------
Aurél :big)
"... Et de quoi est ce que je me rend pas compte?....il en manquait un..."
Afficher la suite 

12 réponses

Répondre au sujet
cs_GodConan 2116 Messages postés samedi 8 novembre 2003Date d'inscriptionContributeurStatut 6 octobre 2012 Dernière intervention - 26 nov. 2004 à 18:36
+3
Utile
GodConan :clown)

oui m enfin bon cela ne transmet pas l information aux enfant ;o)
donc si tu veu il te suffi de faire ton panel comme ca :

JPanel tonPnl = new JPanel(){
public void setEnabled( boolean b )
{
super.setEnabled( b );
Component[] compo = getComponents();
for (int i = 0; i < compo.length; i++)
compo[ i ].setEnabled( b );
}
};

en creant ainsi ton panel il aura la proprietee voulu

ensuite tu utilise pnl.setEnabled( true/false ) pour faire ce que tu veu...
++
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_GodConan
cs_GodConan 2116 Messages postés samedi 8 novembre 2003Date d'inscriptionContributeurStatut 6 octobre 2012 Dernière intervention - 24 nov. 2004 à 20:35
0
Utile
GodConan :clown)

tu fait un tableau qui contien les reference de tou t bouton et comme ca tu a plus que a parcourrir ton tableau ;o) ca tein en 1 ligne

for( int i = 0; i<button.length; i++ ) button[ i ].setEnable( false );

et voila ;o)

++
Commenter la réponse de cs_GodConan
aurelien0306 181 Messages postés jeudi 27 février 2003Date d'inscription 2 mars 2009 Dernière intervention - 25 nov. 2004 à 17:02
0
Utile
Salut,
merci beaucoup d'avoir répondu mais... je suis satisfait qu'à moitié... [:S]
Il n'y as pas moyen de le faire à l'aide d'un widget swing...? j'aurais pensé le faire en utilisant la propriété actionListener des boutons pour leur dire de suivre le comportement du jPanel parent mais je pense pas que ce soit la bonne voie.....

pourtant je sais que ça se fait dans d'autres langages d'interfaces... mais la .... je sèche
-------------
Aurél :big)
"[...] et de quoi est-ce que je me rends pas compte ?.... il en manquait un!"
Commenter la réponse de aurelien0306
cs_GodConan 2116 Messages postés samedi 8 novembre 2003Date d'inscriptionContributeurStatut 6 octobre 2012 Dernière intervention - 25 nov. 2004 à 21:51
0
Utile
GodConan :clown)

et bien pour setVisible c est posible mais pas pour setEnable ;o) car ce n est pas une propriete du JPanel (enable) mais rien ne t empeche de crer ton propre component que contient cette fonctionnalité ... ;o) car meme les class integrant des fonction repercuter sur les child font ce genre ;o) de demarche et son bien obliger ;o) de passer par une boucle ... ;o)..

Au fait je t mit un tableau plus haut en exemple ;o) mais le mieu serai d utilisé un Vector ;o) un peu plus lourd mais plus souple ;o).

++
Commenter la réponse de cs_GodConan
aurelien0306 181 Messages postés jeudi 27 février 2003Date d'inscription 2 mars 2009 Dernière intervention - 25 nov. 2004 à 22:27
0
Utile
bon ok je vais tenter ça et je te dis si ça "me convient" lol ;)
je cliquerai sur réponse acceptée quand je l'aurais fait
merci encore de tes réponses ;)
-------------
Aurél :big)
"[...] et de quoi est-ce que je me rends pas compte ?.... il en manquait un!"
Commenter la réponse de aurelien0306
aurelien0306 181 Messages postés jeudi 27 février 2003Date d'inscription 2 mars 2009 Dernière intervention - 26 nov. 2004 à 14:10
0
Utile
en réponse à :
"et bien pour setVisible c est posible mais pas pour setEnable ;o) car ce n est pas une propriete du JPanel (enable)"... il ya bien une méthode setEnable sur le jPanel...
donc je voudrais bien en faisant jPanel.setEnable(false); désactiver tous les objets à l'intérieur (tous mes boutons)
voila ...

-------------
Aurél :big)
"[...] et de quoi est-ce que je me rends pas compte ?.... il en manquait un!"
Commenter la réponse de aurelien0306
aurelien0306 181 Messages postés jeudi 27 février 2003Date d'inscription 2 mars 2009 Dernière intervention - 26 nov. 2004 à 14:13
0
Utile
en réponse à :
"et bien pour setVisible c est posible mais pas pour setEnable ;o) car ce n est pas une propriete du JPanel (enable)"... il ya bien une méthode setEnable sur le jPanel...
donc je voudrais bien en faisant jPanel.setEnable(false); désactiver tous les objets à l'intérieur (tous mes boutons)
voila ...

-------------
Aurél :big)
"[...] et de quoi est-ce que je me rends pas compte ?.... il en manquait un!"
Commenter la réponse de aurelien0306
aurelien0306 181 Messages postés jeudi 27 février 2003Date d'inscription 2 mars 2009 Dernière intervention - 26 nov. 2004 à 23:23
0
Utile
merci beaucoup (désolé d'avoir insisté je sais que je suis pénible surtout quand j'ai une idée en tête)

merci beaucoup pour toutes tes réponses et celle la me plait particulierement (ps : j'avais déja implémenté ta fonction pour activer/désactiver mon pavé numérique et c'était déja bien )

merci encore pour le temps que tu as consacré à me répondre ;)

---
apres mon enthousiasme, [:S] je viens de tester et apparemment chez moi ça change rien... mon ide ne veut pas que je modifie le code de l'interface qu'il a généré... j'ai essayé de mettre le code dans le constructeur... mais sans succès...
enfin c'est pas grave j'accepte quand meme ta réponse car elle est bonne pour moi et c'est ce que je cherchais alors meme si mon NetBeans se rebelle ben c'est pas grave au moins je saurais faire la prochaine fois

merci encore ;)

-------------
Aurél :big)
"[...] et de quoi est-ce que je me rends pas compte ?.... il en manquait un!"
Commenter la réponse de aurelien0306
cs_GodConan 2116 Messages postés samedi 8 novembre 2003Date d'inscriptionContributeurStatut 6 octobre 2012 Dernière intervention - 27 nov. 2004 à 09:14
0
Utile
GodConan :clown)

pff ben change d IDE NetBean c est une catastrophe, la preuve tu ne peut meme pas use une des technik de base du java ... qui est la surcharge de methode a l instanciation : c null ;o) .

Sans faire de pub ;) tu devrai use Eclipse 3.1 avec le plug-in VE
la tu aurai un outils pratique et performant...

++
Commenter la réponse de cs_GodConan
aurelien0306 181 Messages postés jeudi 27 février 2003Date d'inscription 2 mars 2009 Dernière intervention - 27 nov. 2004 à 11:08
0
Utile
oui je sais bien mais c'est dans le cadre d'un projet et on est obligé d'utilisé NetBeans (la vie d'étudiant)... D'ailleurs j'ai quand meme essayé de le contourner en ouvrant mon fichier en dehors de l'ide et en rajoutant les quelques lignes d'instanciation dans mon fichier... Mais en réouvrant mon fichier, NetBeans (un petit malin en ce qui concerne la modification de son code) enlève mes modifs quasiment comme si de rien était... .bref pénible...
enfin c'est pas grave je garde quand même ton idée ;) puis je saurais que plus tard si j'ai besoin de refaire du java j'utiliserais pas celui-la :big)

merci encore
-------------
Aurél :big)
"[...] et de quoi est-ce que je me rends pas compte ?.... il en manquait un!"
Commenter la réponse de aurelien0306
cs_GodConan 2116 Messages postés samedi 8 novembre 2003Date d'inscriptionContributeurStatut 6 octobre 2012 Dernière intervention - 27 nov. 2004 à 12:38
0
Utile
GodConan :clown)

ten fait pas pour moi ;o) ce n est pas "mon idee"... ;o) c est une fonctionnalitee du langage java ;o) tu peu aussi faire un heritage de class standard pour obtenir le meme resultat et au lieu d utiliser JPanel tu utilise ta class TonPanel ;o) la netBean devrai pas te l interdire !!? , :o)

GL

++
Commenter la réponse de cs_GodConan
aurelien0306 181 Messages postés jeudi 27 février 2003Date d'inscription 2 mars 2009 Dernière intervention - 27 nov. 2004 à 13:27
0
Utile
lol oui je sais bien que c'était une fonctionnalité du langage mais vu que j'y ai pas pensé ben c'est ton idée ;) 8-)

++
-------------
Aurél :big)
"[...] et de quoi est-ce que je me rends pas compte ?.... il en manquait un!"
Commenter la réponse de aurelien0306

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.