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

Langage Java Discussion :

Problème avec ShellFolder


Sujet :

Langage Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Points : 114
    Points
    114
    Par défaut Problème avec ShellFolder
    Bonjour je teste le programme suivant mais il ne fonctionne pas à cause du message

    "Access restriction: The type ShellFolder is not accessible due to restriction on required library C:\Program Files\Java\jdk1.6.0_24\jre\lib\rt.jar"

    Voici le code :

    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
     
    import java.io.*;
    import javax.swing.*;
     
    public class IconExtract1 {
      public static void main(String[] args) throws Exception {
        String s = "c:/windows/regedit.exe";
        File file = new File(s);
     
        // Get metadata and create an icon
        sun.awt.shell.ShellFolder sf =
                sun.awt.shell.ShellFolder.getShellFolder(file);
        Icon icon = new ImageIcon(sf.getIcon(true));
        System.out.println("type = " + sf.getFolderType());
     
        // show the icon
        JLabel ficon = new JLabel(s, icon, SwingConstants.LEFT);
        JFrame frame = new JFrame();
        frame.getContentPane().add(ficon);
        frame.pack();
        frame.setVisible(true);
      }
    }
    Une idée , Merci

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    C'est normal puisqu'il s'agit d'une classe interne à la JVM, qui ne doit pas être utilisé directement dans le code.
    Plus globalement c'est la même chose pour toutes les classes du package sun.*

    Que désires-tu faire exactement ?
    Si c'est pour récupérer l'icône du fichier, il suffit d'utiliser directement FileSystemView :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	File file = ...
     
    	FileSystemView fsv = FileSystemView.getFileSystemView();
    	Icon icon = fsv.getSystemIcon(file);
     
    	JOptionPane.showConfirmDialog(null, icon);

    a++

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Points : 114
    Points
    114
    Par défaut
    merci de la réponse

    mais j'ai déjà vu quelques codes avec ShellFolder comme

    Ref : http://www.rgagnon.com/javadetails/java-0439.html

    d'après ce site çà fonctionne .... si tu pouvais me renseigner plus avant , merci

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Bah ils utilisaient une classe "privée" de la JVM, ce qui fait que rien n'est garantie !

    Ca marchait sûrement à l'époque où ils ont pondu ce code (avec les JVM de Sun uniquement), mais il n'y avait aucune garantie à cela...


    La preuve : cela ne marche plus

    a++

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Points : 114
    Points
    114
    Par défaut Merci
    Ok si château vieux .. alors !!!

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

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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