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

Eclipse Java Discussion :

Probleme de codage dans eclipse (controle lecteur cd)


Sujet :

Eclipse Java

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Points : 193
    Points
    193
    Par défaut Probleme de codage dans eclipse (controle lecteur cd)
    Bonjour tout le monde

    Je n'arrive pas à ouvrire et femer le lecteur cd, j'ai deja utiliser ce genre de code sans eclipse et il fonctionne.

    J'ai bien importer les fichier .bat necessaire et le fichier dll dans le package du projet.

    Voici les class

    class Device
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    package Composant;
     
    import javax.swing.JOptionPane;
     
    public class Device {
     
     
        private final static int DRIVE_UNKNOWN     = 0;
        private final static int DRIVE_NO_ROOT_DIR = 1;
        private final static int DRIVE_REMOVABLE   = 2;
        private final static int DRIVE_FIXED       = 3;
        private final static int DRIVE_REMOTE      = 4;
        private final static int DRIVE_CDROM       = 5; 
        private final static int DRIVE_RAMDISK     = 6;
     
     
        private native static int getDriveType (String drive);
     
     
        private native static int getLogicalDrives ();
     
     
        private native static void sendCommand (String drive, boolean bOpen);
     
     
        public static String [] getCRDOMDVDROMDrivesNames () {
            String [] result = new String [2];
            result [0] = null;
            result [1] = null;
     
            int mask = getLogicalDrives ();
            int index = 0; 
            for (int i=0; i<32; i++) {
                if ((mask & (1 << i)) != 0) {
    		char   c = (char)('A' + i);
                    String drive = "" + c +  ":"; 
    		if (getDriveType (drive) == DRIVE_CDROM) {
                        result [index++] = drive;
                        if (index == 2)
                            break;
                    }	
                }
            }
            return result; 
        } 
     
        public static void open (String drive) {
            sendCommand (drive, true);
            return;
        }
     
        public static void close (String drive) {
            sendCommand (drive, false);
            return;
        } 
     
        static {
            String os = System.getProperty("os.name").toLowerCase ();
            if (os.startsWith ("windows")) {
                System.loadLibrary ("Device");
            }
            else {
                JOptionPane.showMessageDialog(null, 
                                              "Erreur", 
                                              "Ce programme ne peut fonctionner que sur Windows(R)",
                                              JOptionPane.ERROR_MESSAGE);
                System.exit (1);
            }
        }
    }
    Controle menu

    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
     
    cdr  = new JMenu("Disque");		
     
     
    openCD = new JMenuItem("Ouvrir lecteur CD/DVD");
    openCD.setMnemonic('o');
     
     
    openCD.addActionListener(new ActionListener(){
    		public void actionPerformed(ActionEvent e){
     
    		String drive="";
     
    		Device.open (drive);
     
    		}
     
    });
     
    cdr.add(openCD);	
     
     
    closCD = new JMenuItem("Fermer lecteur CD/DVD");
    closCD.setMnemonic('f');
     
     
    closCD.addActionListener(new ActionListener(){
    		public void actionPerformed(ActionEvent e){
     
    		String drive= "";
     
    		Device.close (drive);
     
     
    		}
    });
    Voici les erreur dans eclipse.

    in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no Device in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at Composant.Device.<clinit>(Device.java:60)
    at Composant.Menu$3.actionPerformed(Menu.java:103)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.AbstractButton.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

    Je ne vois pas pourquoi qu'eclipse lance les erreur là, j'ai déja utiliser ce code quand je programmer en java en bloc note.

    Je crois que je n'ais pas encore bien compris l'utilisation de eclipse!!

    A+

  2. #2
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Il faut que tu expliques à Eclipse où est située la librairie "Device" que tu veux utiliser, en la mettant dans ton classPath

    clic droit sur le projet > propriétés > Build Path

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Points : 193
    Points
    193
    Par défaut
    Bonsoir tout le monde

    Que dois je mettre dans le build?

    Il faut mettre tout ce qui concerne le controle cd, (les class et les .bat et dll).

    La je suit perdue.

    Merci.

    A+

  4. #4
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.loadLibrary ("Device");
    C'est cette ligne qui pose problème! Ca serait bien trop beau si une librairie Windows se chargeait aussi facilement.

    Si tu veux charger une librairie Windows de type DLL, il va te falloir passer par JNI... Fais une recherche sur le forum: il fourmille d'informations à ce sujet.

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Points : 193
    Points
    193
    Par défaut
    Bonsoir

    Je ne comprend pas pourquoi quand j'utilise cette api en bloc note, il n'y a aucun problème.


    A +

  6. #6
    Débutant  
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    1 124
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 124
    Points : 193
    Points
    193
    Par défaut rien trouvé!!
    Bonjour tout le monde

    J'ai cherchais dans googool, et dans le forum d'eclipse je n'ais rien trouvé qui puisse m'aider.

    Il faufrait m'expliquer clairement ce que je dois faire avec eclipse pour que je puisse ajouter cette librairie, car la je suis perdue.

    Cordialement

Discussions similaires

  1. Probleme recupération valeur dans un controle onglet dans requete SQL
    Par golfmatcam dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 08/10/2013, 22h50
  2. probleme de deploiement dans eclipse
    Par jeffray03 dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 23/11/2011, 14h47
  3. Probleme configuration RichFaces dans eclipse
    Par tomy29 dans le forum JSF
    Réponses: 1
    Dernier message: 07/08/2008, 11h43
  4. probleme d'utilisation d api c dans des controle forms avec wpf
    Par ZashOne dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 24/07/2007, 13h04
  5. [Debutant] Probleme de compilation d'applet dans Eclipse
    Par nhollevilleTaf dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 22/07/2005, 13h21

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