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

Composants Java Discussion :

Gif animé dans un JButton


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut Gif animé dans un JButton
    Salut à toutes et à tous

    Dans mon application, je voudrais mettre un gif animé sur un bouton pour illustrer la progression d'une tâche.

    Alors j'arrive à mettre l'ImageIcon, mais voilà... ça bug.
    1. L'animation va beaucoup trop vite
    2. Au survol du bouton, l'image disparait.

    Quelqu'un a déjà rencontré ce souci ?

    Voici mon code, sait-on jamais.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    act = new JButton("Deactivate all plugins");
            act.setIcon(IconFinder.getIcon("progress"));
    Et l'IconFinder
    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
    public class IconFinder {
        private static Map<String, String> names;
        private static Map<String, ImageIcon> icons;
     
        static {
            names = new TreeMap<String, String>();
            icons = new TreeMap<String, ImageIcon>();
     
            names.put("cancel", "cancel.png");
            names.put("run", "cog.png");
            names.put("progress", "progress.gif");
        }
     
        public static ImageIcon getIcon(String name) {
            if (icons.containsKey(name)) {
                return icons.get(name);
            }
            else if (names.containsKey(name)) {
                return loadIcon(name);
            }
            else {
                throw new InternalError("No icon named " + name);
            }
        }
     
        private static ImageIcon loadIcon(String name) {
            String fileName = "icons/" + names.get(name);
            URL url = IconFinder.class.getResource(fileName);
     
            if (url != null) {
                ImageIcon icon = new ImageIcon(url);
                icons.put(name, icon);
                return icon;
            }
            else {
                throw new InternalError("An icon is missing from the JAR");
            }
        }
    }

  2. #2
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    Salut,

    Citation Envoyé par Antoine_935 Voir le message
    L'animation va beaucoup trop vite
    Certains gif trouvés sur le web ont des délais entre chaque image à 0. Les navigateurs les remplacent par une valeur par défaut, ce qui fait que le gif te paraitra correct. Mais Java, lui, conserve les valeurs à zéro ... et l'animation est beaucoup trop rapide. Un rapide passage dans un logiciel permettant de lire les infos contenu dans le gif te permettra de voir si cela vient de ça.

    Citation Envoyé par Antoine_935 Voir le message
    Au survol du bouton, l'image disparait.
    Utilise la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bouton.setRolloverIcon(Icon);

  3. #3
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    Citation Envoyé par visiwi Voir le message
    Certains gif trouvés sur le web ont des délais entre chaque image à 0.
    Bien vu ça

    Merci pour ces réponses !

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

Discussions similaires

  1. [Forms Builder] Gif animé dans un module
    Par Diane L'Hérault dans le forum Forms
    Réponses: 15
    Dernier message: 07/08/2009, 17h14
  2. Lire un Gif animé dans un formulaire 4d 2004
    Par jolann69 dans le forum 4D
    Réponses: 4
    Dernier message: 16/06/2006, 11h26
  3. gif animé dans un formulaire
    Par rapace dans le forum IHM
    Réponses: 5
    Dernier message: 04/04/2006, 11h04
  4. GIF anime dans une JFrame
    Par BernardT dans le forum Agents de placement/Fenêtres
    Réponses: 12
    Dernier message: 16/08/2005, 11h50

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