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 :

Problème de boutons


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Par défaut Problème de boutons
    Je travaille sur une petite interface pour le moment rudimentaire, et j'ai un problème avec mes JButtons.
    J'ai 4 boutons, numérotés de 1 à 4, que j'ai réglé pour changer de couleur et être désactivé lorsque je clique sur un bouton de validation.
    Ci-joint le avant/après.

    Pourquoi cette reduction de taille?

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    /*action performed des boutons*/
    public void actionPerformed(ActionEvent e) {
     
    	if(joueur.etat==2)
    	{
    		joueur.etat=1;
    		}
    	joueur.bouton.setBorder(BorderFactory.createLineBorder(Color.white,2));
     
    }
    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
     
    /*action performed du bouton de validation*/
    public void actionPerformed(ActionEvent e) {
    if(e.getSource()==boutonValider)
    {
    	for(int i=0;i<largeur;i++)
    	{
    		for(int j=0;j<largeur;j++)
    		{
    			if(grille.grille[i][j].etat==1)
    			{
    				grille.grille[i][j].etat=0;
    				grille.grille[i][j].bouton.setEnabled(false);
    				grille.grille[i][j].bouton.setBackground(violetclair);
    			}
    		}
    	}
    	panelGrille.revalidate();	
    }
    Images attachées Images attachées   

  2. #2
    Membre émérite

    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 510
    Par défaut
    surement parce qu'il s'adapte le mieux c'est de faire un getSize() juste avant le changement de couleur et de reseter la taille ensuite . (ou enccore tu peux recréer un nouveau model de bouton tu as le choix)

  3. #3
    Membre éclairé Avatar de Goupo
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2006
    Messages : 505
    Par défaut
    Bonjour? Merci? Ton problème est-il résolu?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Par défaut
    Oui, mon problème est résolu.
    Le getsize, puis setsize n'a rien fait.
    En commentant ligne par ligne le code de mon actionPerformed, j'ai identifié la ligne en cause, sans comprendre le pourquoi de la chose.
    C'est celle ci :
    bouton.setBorder(BorderFactory.createLineBorder(Color.white,2));
    Si je l'enlève, plus aucun problème...
    Donc je l'enlève.
    Maintenant, si vous avez l'explication, ça m'intéresse aussi.

  5. #5
    Membre chevronné Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Par défaut
    Le dessin des boutons utilise une composition de deux cadres, l'un est dessiné et l'autre est invisible, il sert à dessiner la marge. Donc quand tu le remplaces par un seul il n'y a plus de marge...
    Sinon si tu souhaites effacer la cadre d'un bouton il existe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    button.sertBorderPainted(false);

Discussions similaires

  1. [Debutant] Problème de boutons
    Par Welldone dans le forum Débuter
    Réponses: 5
    Dernier message: 08/07/2005, 15h37
  2. [C#] problème de bouton transparent
    Par mbibim63 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 17/05/2005, 14h50
  3. Réponses: 24
    Dernier message: 11/01/2005, 10h12
  4. [FLASH MX]Problème de bouton et de _level
    Par Geilgestorm dans le forum Flash
    Réponses: 9
    Dernier message: 01/07/2004, 16h37
  5. Problème de boutons radio
    Par BRAUKRIS dans le forum Composants
    Réponses: 3
    Dernier message: 03/06/2004, 02h41

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