質問

わずかに変更されたバージョンを実行しようとしています このQT Jambi Hello Worldの例 しかし、私は最初のコード行で追跡可能なnullpointerexceptionに遭遇します。これが可能になる唯一の方法は、qapplicationがnullである場合のように思われますが、それは私のビルドパスにあり、私のコードはコンパイルされます。

最初は、ヌルポインターがコンストラクターの不足であるかどうか疑問に思いましたが、1つを追加するとエラーが発生します。今、私はそれがおそらくQT JAMBIの動作をするために舞台裏でJNI(Javaネイティブアクセス)が行われているのか、それとも(日食で)コンパイルされているにもかかわらず、IDEがファイルメインメソッドを正しく実行していない場合に疑問に思っています。

これは、Windows 7のJava 1.6用です

POSTSCRIPT:WOUD NetBeansを使用して正常に機能することを知っていません。答えたりコメントしたりしてくれたすべての人に感謝します。

コード:

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();
    }
}

スタックトレース:

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)

Eclipse's ClassPath.xml:

<?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>

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top