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

Graphisme Java Discussion :

Bouton & "reaction "


Sujet :

Graphisme Java

  1. #1
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Par défaut Bouton & "reaction "
    Bonjour, j'aurais quelque questions a propos de la creation de boutons .

    Voila ma classe Boutonperso
    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
     
    public class Boutonperso extends JButton implements MouseListener
    {
    	private static final long serialVersionUID = -8188261768545407337L;
     
    	public Boutonperso(Action a) 
    	{
    		super(a);
    		setContentAreaFilled(false);
    		setForeground(Color.black);
    		this.setBorder(BorderFactory.createEmptyBorder());
    		this.addMouseListener(this);
    	}
     
    	protected void paintComponent(Graphics g) 
    	{
    		int w = getWidth();
    		int h = getHeight();
    		Graphics2D g2d=(Graphics2D) g;
    		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
    				RenderingHints.VALUE_ANTIALIAS_ON);
     
    		RoundRectangle2D.Float r2d =new RoundRectangle2D.Float(0, 0, w, h,100,100);
     
    		g2d.clip(r2d);
    		GradientPaint gradient = new GradientPaint(0, 0, Color.white, 0, h, Color.LIGHT_GRAY, true);
    		g2d.setPaint(gradient);
    		g2d.fillRect(0, 0, w, h);
    		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
    				RenderingHints.VALUE_ANTIALIAS_OFF);	
    		super.paintComponent(g);
     
    	}
     
    	public void mouseClicked(MouseEvent e) 
    	{
    		System.out.println("clicked");		
    	}
     
    	public void mouseEntered(MouseEvent e) 
    	{
    		System.out.println("mouseentered");
     
    	}
     
    	public void mouseExited(MouseEvent e) 
    	{
    		System.out.println("mouseExited");		
    	}
     
    	public void mousePressed(MouseEvent e) 
    	{
    		System.out.println("mousepressed");		
    	}
     
    	public void mouseReleased(MouseEvent e) 
    	{
    		System.out.println("mousereleased");
    	}
    }
    Bon c'est pas très joli je l'avoue . mais j'ai essayé d'apprendre d'après le code qui a été mis sur cette page http://www.developpez.net/forums/d16...s/#post4527385
    ( première fois que je fais des boutons comme ça )

    Le problème avec mon code c'est que le bouton est " inactif" quand on clique dessus
    Par la je veux dire qu'il n'y a pas de " mouvement ".
    C'est pour ça que j'ai implémenté la classe Actionmouselistener.
    Je pense utiliser la méthode mousepressed() et mousereleased() mais je ne sais pas quoi faire dans ces méthodes pour donner une " activité " a mes boutons
    J'aurais besoin d'aide pour arriver a faire un bouton "pressé " quand je clic et "relâché" quand je lâche.
    C'est pour des boutons de calculette. Oui je m'entraine et je programme une petite calculette en Java... ne pas se moquer s'il vous plait !

    Je vous remercie pour votre aide.
    Images attachées Images attachées  

  2. #2
    Membre régulier
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Par défaut
    Enfaite le problème vient du fait que j'enlève les " border" avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.setBorder(BorderFactory.createEmptyBorder());
    Si je fais ça c'est parce que les border sont rectangle. Ils ne suivent pas la forme arrondi de mon bouton.Je les ai donc supprimé.
    Mais c'est les border qui change de couleur quand la souris passe dessus et qui permet de donner une " activité " aux boutons.

    Serait-il possible de creer un Border de forme roundRectangle ?

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