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

Java Discussion :

Method getWindowHandle manquante?


Sujet :

Java

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 491
    Points : 172
    Points
    172
    Par défaut Method getWindowHandle manquante?
    Hello,

    J'ai construit mon projet en .jar avec netbeans. Celui-ci tourne sans problème sous mon linux ubuntu.

    En revanche, je l'ai lancé sous windows il y a 2min, et j'ai obtenu l'exception suivante:

    Exception in thread "main" java.lang.NoSuchMethodError: getWindowHandles
    at java.awt.Dialog.initIDs(Native Method)
    at java.awt.Dialog.<clinit>(Unknown Source)
    at sun.misc.Unsafe.ensureClassInitialized(Native Method)
    at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source)
    at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
    at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
    at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
    at java.lang.reflect.Field.get(Unknown Source)
    at sun.awt.SunToolkit$6.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.awt.SunToolkit.<clinit>(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at java.awt.Toolkit$2.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Toolkit.getDefaultToolkit(Unknown Source)
    at java.awt.Toolkit.getEventQueue(Unknown Source)
    at java.awt.EventQueue.invokeLater(Unknown Source)
    at javax.swing.SwingUtilities.invokeLater(Unknown Source)
    at org.eo.main(EOMain.java:290)
    La ligne correspondant à l'exception donnée dans EOMain.java:290 est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      290 		javax.swing.SwingUtilities.invokeLater(new Runnable() {
      291 			public void run() {
      292 				createAndShowGUI();
      293 			}
      294 		});
    Comprends pas pourquoi.. Rien trouvé sur google... Quelqu'un a une idée? Mon JDK et ma JRE semble bien installée... C:\Program Files\Java\jdk1.6.0_11 et C:\Program Files\Java\jre1.6.0_07

    Merci d'avance...

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 142
    Points : 153
    Points
    153
    Par défaut
    Est ce qu'on peut voir les lignes avant la 290 ?

    Je pense que tu dois initialiser des choses juste avant, et qui ne sont peut être pas portable...

  3. #3
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 491
    Points : 172
    Points
    172
    Par défaut
    Voici la méthode main complète:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public static void main(String[] args) 
    {
        // Schedule a job for the event-dispatching thread:
        // creating and showing this application's GUI.
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 491
    Points : 172
    Points
    172
    Par défaut
    J'initialise également une variable statique dirèctement dans la classe contenant le main:

    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
     
     
    public class EOMain extends JFrame implements ActionListener 
    {
        public static final String APP_ENV_PATH = setAppEnvPath() ;
     
        private static final String setAppEnvPath() {
            String path = System.getenv("EO_PATH") ;
            if(path == null || path.equals("")) {
            // If the environment varialbe have not been set properly, just guess it
                path = "."+File.separatorChar ;
            }
            else {
                if(path.charAt(path.length()-1) != File.separatorChar) {
                    path = path + File.separatorChar ;
                }
            }
     
            return new String(path) ;
        }
        (...)
    }

  5. #5
    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,



    Quel est la version de Windows ?
    Comment lances-tu ton programme ?
    As-tu vérifié que tu utilises bien cette version de Java ? (java -version en console)

    a++

  6. #6
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 491
    Points : 172
    Points
    172
    Par défaut
    Windows XP...
    Je lance mon java soit en double cliquant sur le .jar, soit en lancant un fichier .bat dans lequelle je lance la commande:

    java -jar myjar.jar

    Le plus étonnnat est que je viens de tester sur un autre windows XP d'une autre machine et que l'appli se lance corrèctement...

  7. #7
    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
    Et que donne java -version ?

  8. #8
    Membre habitué
    Inscrit en
    Janvier 2005
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 491
    Points : 172
    Points
    172
    Par défaut
    java -version me donne:
    java version "1.6.0_13"
    Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
    Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode)
    La même chose que pour l'autre système windows sous lequel ca fonctionne...

    En haut de la console il me dponne également la version de windows:
    Microsoft Windows XP [version 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.
    Vraiment je comprends pas...

Discussions similaires

  1. Erreur 424: objet manquant avec methode union
    Par JonSnow dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/04/2010, 09h53
  2. classe abstraite avec des methodes manquantes
    Par kkkkkk dans le forum Langage
    Réponses: 6
    Dernier message: 17/10/2007, 15h13
  3. [DEBUTANT]methode manquante dans ma classe ?
    Par Battosaiii dans le forum Débuter
    Réponses: 3
    Dernier message: 25/08/2006, 11h56
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27

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