IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Désactiver un JButton


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Points : 56
    Points
    56
    Par défaut Désactiver un JButton
    Bonjour,

    je crée une interface graphique pour un jeu de Monopoly et j'aimerais qu'à certains moments et pour certains joueurs, des boutons soient accessibles et d'autres inaccessibles.

    Je n'ai pas trouvé de méthode pour les désactiver et réactiver (j'ai essayé disable() et invalidate() mais ces deux méthodes doivent avoir une autre fonction).

    Existe-t-il un moyen d'empêcher l'utilisateur de pouvoir cliquer sur un bouton (ou plutôt d'empêcher l'action liée au bouton de se réaliser) ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 80
    Points : 71
    Points
    71
    Par défaut
    salut,

    essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    bouton.enable(false);
    A+ 8)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    Merci mais ça ne fonctionne pas mieux

    Je travaille sous Eclipse et lorsque je tape ce code, il le barre avec un message d'erreur "The method enable(boolean) from the type JComponent is deprecated" et le bouton reste toujours utilisable.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 80
    Points : 71
    Points
    71
    Par défaut
    Exact.
    Alors ce que tu peux faire c'est rendre ton bouton visible et invisible par la méthode setVisible(boolean);

    A +

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    C'est exactement ce qu'il fallait, ça passe sans problème cette fois-ci. Merci

  6. #6
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    La methode est setEnabled(false)
    Romain Guy
    Android - Mon livre - Mon blog

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 80
    Points : 71
    Points
    71
    Par défaut
    merci Gfx

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    Merci à toi aussi Gfx, les deux méthodes marchent mais j'ai une préférence pour le setEnabled qui laisse le bouton visible

  9. #9
    Membre actif

    Inscrit en
    Septembre 2004
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 108
    Points : 229
    Points
    229
    Par défaut
    si dans ton interface, plusieurs composants exactement la meme action, (par exemple un bouton, un item dans un menu) tu peux creer une Action
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	private Action doSomething = new AbstractAction(){
    		private static final long serialVersionUID = 1L;
    		public void actionPerformed(ActionEvent e) {
    			// do something			
    		}
    	};
    ensuite associer, cette action aton item et ton bouton
    les avantages:
    - le code de l'action dans un seul endroit
    - si tu veux desactiver l'action : action.setEnabled(false); le bouton ET item seront desactivés
    - tu peux meme associer une icone, ... a ton action
    Cependant, j'ai lu quelque part que utilser des actions n'est pas très recommandé: peut etre pour des histoires de perfs , je ne sais pas trop

  10. #10
    Gfx
    Gfx est déconnecté
    Expert éminent
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Points : 8 178
    Points
    8 178
    Par défaut
    Pas recommande d'utiliser des Actions ? Au contraire ! En tout cas l'equipe Swing te dit de les utiliser :p
    Romain Guy
    Android - Mon livre - Mon blog

  11. #11
    Membre actif

    Inscrit en
    Septembre 2004
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 108
    Points : 229
    Points
    229
    Par défaut
    ok merci Gfx,
    je suis rassuré, je ne rappelle plus ou est ce que j'ai lu ça
    je trouvais que c'était frustrant de se passer d'une telle classe

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 91
    Points : 56
    Points
    56
    Par défaut
    C'est bon à savoir merci, mais je n'ai aucun item qui exécute la même action qu'un autre ^^

  13. #13
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut jeu de morpion
    bonjour,

    j'ai un jeu de morpion à faire en projet java.
    j'ai fait une classe "mode 2 joueurs" qui consiste comme son nom l'indique à jouer à 2.
    pour l'instant, j'ai pu associer un bouton (avec un symbole dessus: par exemple une croix, une étoile...) à un joueur. ainsi, quand je clique sur un des bouton, joueur 1 ou joueur 2 s'affiche dans un JLabel.
    mais maintenant, il faudrait que je puisse mémoriser à quel joueur est associé chaque bouton, et que je puisse alterner joueur 1/ joueur 2 pour que chaque joueur puisse jouer l'un après l'autre. voila où je suis bloqué!!!

    ah! j'ai oublié de préciser que ma "grille" de jeu sont 9 boutons, je ne sais pas si ça a une importance mais vu que tous les exemples sur internet sont avec des tableaux...

    merci d'avance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Désactiver un jButton
    Par Sylv3D dans le forum Débuter
    Réponses: 4
    Dernier message: 28/03/2010, 00h52
  2. Réponses: 3
    Dernier message: 25/04/2007, 15h25
  3. [JButton] Bouton grisé quand il est désactivé
    Par michaeljeru dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 19/04/2007, 14h53
  4. Désactiver les touches F1, F2, F3, F4, F5 dans IE
    Par ZiZouJH dans le forum Flash
    Réponses: 7
    Dernier message: 17/02/2003, 09h59
  5. Réponses: 8
    Dernier message: 17/05/2002, 09h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo