Icône d'un fichier

cs_Vyse Messages postés 8 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 6 mai 2004 - 6 mai 2004 à 14:12
cs_Vyse Messages postés 8 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 6 mai 2004 - 6 mai 2004 à 17:17
Bonjour, j'aimerais savoir comment récupérer l'icône associé à une extention. Par exemple, récupérer l'icône "document word" pour un fichier .doc

Merci.

7 réponses

dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
6 mai 2004 à 14:31
???
que veux-tu exactement?
recupere les icones pour avoir les images?
ou bien par exemple pour un JFileChooser mettre des icones associees?
0
cs_Vyse Messages postés 8 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 6 mai 2004
6 mai 2004 à 14:56
mettre des images associées, mais pas pour un JFileChooser, c'est dans un treeview.
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
6 mai 2004 à 16:23
je m'en doutais, tiens regarde cet exemple:

tu mets un render setRennderer() sur ton arbre du type...:

private class TreeRenderer
extends DefaultTreeCellRenderer {

public Component getTreeCellRendererComponent(
JTree tree,
Object value,
boolean sel,
boolean expanded,
boolean leaf,
int row,
boolean hasFocus) {

super.getTreeCellRendererComponent(
tree, value, sel,
expanded, leaf, row,
hasFocus);
FileTreeNode node = (FileTreeNode)value;
setIcon(Utils.getIcon(node.getFilePath()));
return this;
}
}
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
6 mai 2004 à 16:24
je m'en doutais, tiens regarde cet exemple:

tu mets un render setRennderer() sur ton arbre du type...:

private class TreeRenderer
extends DefaultTreeCellRenderer {

public Component getTreeCellRendererComponent(
JTree tree,
Object value,
boolean sel,
boolean expanded,
boolean leaf,
int row,
boolean hasFocus) {

super.getTreeCellRendererComponent(
tree, value, sel,
expanded, leaf, row,
hasFocus);
FileTreeNode node = (FileTreeNode)value;
setIcon(Utils.getIcon(node.getFilePath()));
return this;
}
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Vyse Messages postés 8 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 6 mai 2004
6 mai 2004 à 16:48
Merci, c'est effectivement la solution sur laquelle je travaillais.
mais pourrais-je savoir dans quel package se trouve la classe Utils que tu emploie ? car je n'ai pas trouvé de méthode Utils.getIcon dans l'aide du JDK

pour le moment, j'ai simplement mis qq icone pour les fichiers les plus courant directement dans mon application(word, powerpoint, exe, txt, zip)
dans le constructeur :
excelIcon = createImageIcon(FOLDERICON + "excel.gif") ;
wordIcon = createImageIcon(FOLDERICON + "word.gif") ;
powerpointIcon = createImageIcon(FOLDERICON + "powerpoint.gif") ;

et dans le getTreeCellRenderer :
if (ext.equalsIgnoreCase(".xls"))
{setIcon(excelIcon);}
else if (ext.equalsIgnoreCase(".doc"))
{setIcon(wordIcon) ;}
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
6 mai 2004 à 17:01
Utills est juste une petite classe que je me suis faite qui renvoie un thumbnaill (rendu en miniature de l'image) dans le cas de fichier jpg, gif...
dans les autres cas, bah il faut lui associe une autre icone, chose dont je ne me servais pas car je n'ajoutais dans ce cas la que des noeuds d'image...

si tu veux voir ce que ca donne pour des images, bah voila:

public static ImageIcon getIcon(String path) {
ImageIcon thumbnail = null;
if (path == null) {
return null;
}
ImageIcon tmpIcon = new ImageIcon(path);
if (tmpIcon != null) {
if (tmpIcon.getIconWidth() > 24) {
thumbnail = new ImageIcon(tmpIcon.getImage().
getScaledInstance(24, -1,
Image.SCALE_DEFAULT));
}
else { //no need to miniaturize
thumbnail = tmpIcon;
}
}
return thumbnail;
}
0
cs_Vyse Messages postés 8 Date d'inscription mardi 27 août 2002 Statut Membre Dernière intervention 6 mai 2004
6 mai 2004 à 17:17
Merci beaucoup pour ton aide, mais je pense que finalement je vais garder la solution d'avoir qq icone avec l'application. sinon je devrais aller prendre les icônes avec l'API windows, mais cela ne serait plus du tout portable, alors tant pis.
0
Rejoignez-nous