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 :

JButton et setPressed/setArmed


Sujet :

AWT/Swing Java

Vue hybride

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

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Par défaut JButton et setPressed/setArmed
    Bonjour,
    j'ai creer des JButton avec une image de fond:
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    public class BoutonAnotherColor extends JButton
    {
     
    	/* Numero de serialisation par defaut. */
    	private static final long serialVersionUID = 1L;
     
    	/* Image de fond après selection (format png)*/
    	private Image image;
     
    	/**
             * Le constructeur de la classe.
             * @param string La chaîne de caractère identifiant
             * le bouton.
             * @param fichier Le chemin du fichier image.
             */
    	public BoutonAnotherColor(String string,String fichier)
    	{
    		super();
            try { 
                image = ImageIO.read(new File(fichier)); 
            } catch (IOException e) { 
                image = null; 
                System.err.println("Fichier invalide"); 
            }
            setFocusable(false);
    		setText(string);
    		setVisible(true); 
    		setContentAreaFilled(false);
    	}
     
    	/*
    	 * (non-Javadoc)
    	 * @see javax.swing.JComponent#paintComponent(java.awt.Graphics)
    	 */
    	public void paintComponent(Graphics g) 
    	{     
    			g.drawImage(image, 0, 0, null);
    		super.paintComponent(g);
     
     
     
    	}
     
    }
    Le probleme c'est que j'aimerais que lorsque j'appui sur le bouton, il y é un effet visuel.

    Il faut donc utiliser un mouseListener par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	public void mousePressed(MouseEvent e) 
    	{
     
    		if(e.getSource() instanceof BoutonAnotherColor)
    		{
    ((BoutonAnotherColor)e.getSource()).setContentAreaFilled(false);
    			((BoutonAnotherColor)e.getSource()).getModel().setPressed(true);
    			((BoutonAnotherColor)e.getSource()).getModel().setArmed(true);
    			((BoutonAnotherColor)e.getSource()).repaint();
    		}
    	}
    Le problème c'est que je cherche à ce que l'effet soit appliqué sur mon image de fond et non en affichant celui par defaut!

    Comment faire?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 80
    Par défaut
    Bon j'ai trouver un moyen:
    J'ai redessiner mon image qui me sert de fond pour lui donner l'aspect d'un bouton selectionné.
    J'ai ensuite rajouté une variable isPressed qui m'indique si le bouton est pressé.
    Enfin j'ai redefini ma methode paintcomponent():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    		if(pressed)
    			g.drawImage(image, 0, 0, null);
    		else
    			g.drawImage(image, -1,-1, null);
    		super.paintComponent(g);
     
     
     
    	}
    Vous aurez devinez que la premiere ligne et la premiere colonne de mon image forme l'effet enfonçé.
    Bin voila , merci de vos non reponses

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

Discussions similaires

  1. [JButton] Mouvements souris + MousePressed
    Par Devil Redneck dans le forum Composants
    Réponses: 8
    Dernier message: 17/05/2004, 17h49
  2. Réponses: 5
    Dernier message: 17/05/2004, 15h29
  3. [JButton] ActionListenner, ActionPerformed
    Par ArchFolken dans le forum Composants
    Réponses: 6
    Dernier message: 04/05/2004, 10h41
  4. [debutant] ajouter ImageIcon dans un Jbutton
    Par agugu dans le forum Composants
    Réponses: 4
    Dernier message: 25/04/2004, 22h40
  5. Comment redimensionner un jbutton ?
    Par Ares dans le forum JBuilder
    Réponses: 13
    Dernier message: 29/09/2003, 16h42

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