Bonjour,
Je souhaite que lorsque la souris survole un bouton qui contient une image, le bouton devient plus grand. Je pense qu'on appelle ça l'effet fish eye.
Avez vous une idée sur le moyen permettant de réaliser ceci?
Merci
Version imprimable
Bonjour,
Je souhaite que lorsque la souris survole un bouton qui contient une image, le bouton devient plus grand. Je pense qu'on appelle ça l'effet fish eye.
Avez vous une idée sur le moyen permettant de réaliser ceci?
Merci
Peut-être en affichant le bouton plus grand sur le GlassPane de ta JFrame. Tu connais (ou peux connaitre) les coordonnées du bouton dans ta JFrame, il te suffit d'afficher une image plus grande dans le GlassPane centrée sur le bouton initial.
regarde du côté des méthodes setRolloverXXX de la classe AbstractButton dont hérite JButton.
En fait mon bouton est dans une barre d'outil. J'ai essayé avec setRolloverIcon et j'ai associé la meme icone que celle du bouton avec juste ses dimensions en plus grand mais j'ai pas eu l'effet souhaité. L'icone s'affiche à l'intérieur du bouton et elle est tronquée.
Aurais je fais une mauvaise manipulation?
Auriez vous un petit bout de code comme exemple?
Merci
J'ai trouvé un moyen assez simple pour faire ceci:
- Lorsque la souris est sur le bouton, sa taille est augmentée avec setSize()
- Lorsque la souris quitte le bouton j'utilise setSize() pour affecter au bouton sa taille initiale.
C'est une méthode trés simple mais je pense qu'il y en a mieux...
Quelqun aurait une idée?
S'il y a une façon plus propre et plus professionnelle à faire ceci, pourquoi pas...Il faut tjs chercher à faire mieux et srt à optimiser les lignes de codes.;)
En plus avec la méthode que j'ai fait, le bouton grandit mais pas l'image qui est dedans...L'effet que je souhaite obtenir c'est comme si on passait une loupe sur le bouton au moment ou la souris passe dessus.Voilà
J'ai essayé setRolloverIcon mais ça ne marche pas...:roll:
Alors, d'autres idées?
Des choses similaires sont traitees dans le livre de Gfx "Filthy Rich Clients", Addison-Wesley, ISBN 978-0-13-241393-0 au chapitre 7, section Spring Fever, page 486. Essaie de voir du cote des exemples disponibles sur le site web du livre : http://filthyrichclients.org/ si jamais ceux-ci sont dispos.
J'ai essayé d'utiliser la méthode setRolloverIcon mais le problème c'est que lorsque la souris est sur le bouton, l'icone du bouton disparait et rien ne s'affiche:
voici ce que j'ai mis comme code:
Des idées?:roll:Code:
1
2
3
4
5 public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub Icon rolloverIcon = new ImageIcon("/images/flash.png"); jButton1.setRolloverIcon(rolloverIcon); }
Non, setRolloverIcon() ne doit pas (generalement) etre utilise en reaction au passage de la souris mais doit etre utilisee en conjonction avec setRolloverEnabled() ; une fois active c'est le bouton qui mettra de lui-meme la bonne icone lors du passage de la souris si cela est supporte par le Look and Feel.
Dans le repertoire du JDK, voir demo/JFC/SwingSet2.
Voilà mon code mais ça ne marche toujours pas: il y a juste l'icone qui disparait :?
Aurais je oublié quelque choseCode:
1
2
3
4
5 Icon icone = new ImageIcon(getClass().getResource("/images/flash.png")); jButton1 = new JButton(); jButton1.setIcon(icone); jButton1.setRolloverEnabled(true); jButton1.setRolloverIcon(new ImageIcon("/images/apply.png"));