Question

J'essaye d'exécuter une version légèrement modifiée de Cet exemple QT Jambi Hello World Mais je rencontre une nulpointerException tracable à ma toute première ligne de code. La seule façon dont cela serait possible semble être si Qapplication est nul, mais c'est sur mon chemin de construction, et mon code compile.

Au début, je me demandais si le pointeur nul était mon manque de constructeur, mais en ajoutant un entraînant toujours l'erreur. Maintenant, je me demande si c'est parce qu'il y a probablement des JNI (Java Native Access) qui se déroulent dans les coulisses pour faire fonctionner QT Jambi, ou si malgré la compilation (dans Eclipse), l'IDE n'exécute toujours pas correctement la méthode principale du fichier.

C'est pour Java 1.6 sur Windows 7

PostScript: Ne savez-vous pas que cela fonctionne bien en utilisant NetBeans. Merci à tous ceux qui ont répondu ou commenté.

CODE:

import com.trolltech.qt.gui.*;

public class EcosDesk {
    public static void main(String args[]) {
        if(args == null) args = new String[0]; //suggested addition
        QApplication.initialize(args);

        QPushButton hello = new QPushButton("Hello World!");
        hello.show();

        QApplication.exec();
    }
}

TRACE DE LA PILE:

Exception in thread "main" java.lang.NullPointerException
at java.lang.J9VMInternals$1.run(J9VMInternals.java:273)
at java.security.AccessController.doPrivileged(AccessController.java:202)
at java.lang.J9VMInternals.cloneThrowable(J9VMInternals.java:248)
at java.lang.J9VMInternals.copyThrowable(J9VMInternals.java:289)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:179)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:167)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:167)
at com.motion.ecos.EcosDesk.main(EcosDesk.java:7)

ClassPath.xml d'Eclipse:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
    <classpathentry kind="lib" path="C:/Users/dp078008/Downloads/qtjambi-4.6.3-win32/qtjambi-4.6.3/qtjambi-4.6.3.jar"/>
    <classpathentry kind="lib" path="C:/Users/dp078008/Downloads/qtjambi-4.6.3-win32/qtjambi-4.6.3/qtjambi-win32-msvc2005-4.6.3.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top