Publié le 17/01/2011
Auteur axel
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Extraire les icones systeme de l'OS

Pour rendre l'IHM plus agréable à l'utilisation, on ajoute des images ou des icônes sur les zones d'action ou en fond d'un objet. Tant pour rester dans l'aspect de l'OS sur lequel l'application est exécutée, tant pour réduire la taille du logiciel, il est préférable d'utiliser directement les ressources du système d'exploitation.

Utiliser les icones du système d'exploitation

Imaginons que l'on souhaite ajouter un bouton ayant un rapport avec l'édition de document. Une idée consiste à utiliser l'icone standard de Word.
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.filechooser.FileSystemView;
import sun.awt.shell.ShellFolder;
 
/**
 * Extraire les icones systeme
 * @author Axel - ® fobec.com 2010
 */
public class FileIco {
 
    public static void main(String args[]) {
        try {
            //créer un fichier temporaire
            File file = File.createTempFile("icon", ".doc");
            FileSystemView view = FileSystemView.getFileSystemView();
            //Extraire l'icone 16 x 16
            Icon icon = view.getSystemIcon(file);
            System.out.println("Taille de l'icone: "   icon.getIconHeight()
                      " x "   icon.getIconWidth());
            ShellFolder shellFolder = ShellFolder.getShellFolder(file);
            //Extraire l'icone 32 x 32
            Icon icon32 = new ImageIcon(shellFolder.getIcon(true));
            System.out.println("Taille de l'icone: "   icon32.getIconHeight()
                      " x "   icon32.getIconWidth());
            //supprimer le fichier temporaire
            file.delete();
        } catch (IOException ex) {
            Logger.getLogger(FileIco.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}
>De nombreuses icône peuvent être extraites du système d'exploitation de cette manière. Ensuite il suffit de fixer l’icône de votre button par exemple avec le nouveau ImageIcon crée.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
17/01/2011
Visualisation
vu 3840 fois
Public
Internaute
Auteur de la publication
Axel
Membre junior
Auteur de 51 articles
|BIO_PSEUDO|
Commentaires récents

Publié par titi dans tuto

test de ce truc! eh ben exigeant en plus

Publié par Kader dans java

Tres interessant. Merci Bien! Est ce possible de mettre la couleur sur toute la ligne au lieu de la cellule?

Publié par space dans java

peut on avoir un meme code pour linux

Publié par victor dans java

Merci, je cherchais un code de ce genre !
A +

Publié par Axel dans java

merci Neoray pour ce commentaire
Effectivement, l'objet Calendar s'initialise sur l'heure GMT avec TimeZone.getTimeZone("UTC");
Calendar.getInstance(TimeZone.getTimeZone("...