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 :

Icône moche dans la barre des tâches


Sujet :

AWT/Swing Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 21
    Points : 13
    Points
    13
    Par défaut Icône moche dans la barre des tâches
    Salut.
    J'ai un PNG que j'utilise entre autres comme icône pour la fenêtre/barre des tâche et qui ne passe pas bien sur la barre des tâche uniquement lorsqu'il n'est pas en 16x16. J'aimerai en mettre une plus grande, car je l'utilise pour d'autres choses et je pense que sous d'autres OS qui auront des icônes plus grandes (Mac ?), il va redimensionner un 16x16, ce qui risque d'être très moche. Sans parler du alt-tab...
    J'ai trouvé un ONG de 32x32 dans le répertoire de netbeans, et je suppose qu'il l'utilise comme icône, sans problème de redimensionnement. Je ne parviens pas à faire une recherche google sur les sources. Savez-vous comment ils font, ou comment peut-on faire pour utiliser une icône plus grande sans avoir cet effet hideux ?

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Je précise, en Java 5.
    J'ai lu ici que Java 6 donnait cette possibilité.

  3. #3
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Sinon c'est à toi de fournir un mécanisme permettant de récupérer la bonne icône.

    Par exemple une Factory possédant une méthode getFrameIcon et sortant la bonne icône suivant l'OS (32*32 ou 16*16).

    Comme çà plus de problème.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Où dois-je faire ça ? Je ne vois pas de fonction pour lier une Factory à ma JFrame

  5. #5
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    La méthode de ta factory te renverra l'ImageIcon en fonction de l'OS point barre.
    Ensuite il te suffira de l'appliquer à ta JFrame

    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
     
    public class FrameIconFactory {
       private static FrameIconFactory instance = new FrameIconFactory();
       private ImageIcon frameIcon;
       private FrameIconFactory() {
          init();
       }
     
       private void init() {
           String iconPath = null;
           //on détermine le chemin de l'icon en fontion de l'OS -- cf System.getProperty pour avoir le nom de l'OS
           ....
     
           if(iconPath != null ) {
              frameIcon = new ImageIcon(iconPath);
           }
       }
     
       public static FrameIconFactory getInstance() {
          return instance;
       }
     
       public ImageIcon getFrameIcon() {
          return frameIcon;
       }
     
    }
    puis il te suffira de faire ceci au niveau de ta JFrame:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maFrame.setIconImage(FrameIconFactory.getInstance().getFrameIcon());
    ++
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Merci pour ta réponse documentée.

    Il reste un problème : l'icône est toujours redimensionnée en 16x16 pour windows XP, et agrandie en 32x32 lors du alt-tab. N'y a-t-il pas moyen d'y mettre une vraie 32x32, comme sous Netbeans ?

  7. #7
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Bon je viens de faire des tests avec de icônes 32*32 et pour moi je ne vois pas de problème même quand elles sont redimensionnées en 16*16.

    Ensuite je n'ai essayé qu'avec des png (donc images en format de compression lossless...)
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    J'utilise aussi des png
    Tu as de la transparence dans les tiens ? Pour ma part, j'ai du noir qui apparait à la limite coloré/transparent lors du redimensionnement.

    Sinon, le 32x32 => 16x16 => 32x32 dans le alt-tab, c'est hideux. Je n'ai toujours pas trouvé comment faire en Java 5

  9. #9
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Oui pour les png (ils sont issus de l'iconset nuvola de KDE) les miens ont de la transparence et pas de fond noir (j'utilise java 6, mais je n'ai pas le souvenir de problème en java 5).

    Ensuite j'utilise directement une icône en 32*32...
    Par contre si j'utilise une 16*16 effectivement elle a une sale gueule sur le alt-tab
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Java 6 possède des méthodes qui permettent de renvoyer une icône ou une autre selon la demande du système, ce que n'a malheureusement pas Java 5...

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/05/2006, 11h50
  2. Ajouter une icône d'une application dans le barre des tâches
    Par Lorponos dans le forum Autres Logiciels
    Réponses: 11
    Dernier message: 13/05/2006, 19h41

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