2017-01-18 1 views
0

私はjavafxアプリケーションを開発しています。アプリケーションインタフェースを拡張する私のアプリケーションクラスGUIには、システムのすべての変数と、実際に自分のデータベースとのインタフェースの接続を含むゲームのコンストラクタが含まれています。javafxクラスへのシステムの引数を解析します。

public class GUI extends Application { 
    ... \\system variables 
    public GUI(String args[]) throws SQLException, InterruptedException { 
     ... 
     connectionQuestions = questionssqliteConnection.dbConnector(); 
     connectionUsers = userssqliteConnection.UdbConnector(); 
    } 
} 

私は、GUI呼び出し、システム引数のコンストラクタ内で解析する可能性があるかどうかを知りたがっていました。私のシステムにそれらを渡す方法があり、アプリケーションのコンストラクタ にjava.lang.reflect.InvocationTargetException 例外実行中のアプリケーションのGUI

例外:私はそれらを追加しようとしましたが、私はいくつかのエラーを得ました?

答えて

1

このすべてはdocumentationでカバーされています。

まずあなたApplicationサブクラス必見は、引数なしのコンストラクタを持っているノート、およびそのコンストラクターがstart(...)(およびinit()、そして他の方法)と呼ばれているインスタンスを作成するために、FXアプリケーションツールキットによって呼び出されます。このため、String[]パラメーターを使用してコンストラクターを使用しようとすると例外が発生します。

コマンドラインパラメータは、すでにアプリケーションインスタンスに渡されており、getParameters()を呼び出して利用できます。そうすることができます

public class GUI extends Application { 

    // ... system variables 

    public init() throws SQLException, InterruptedException { 

     // ... 

     List<String> args = getParameters().getRaw(); 

     // process parameters... 

     connectionQuestions = questionssqliteConnection.dbConnector(); 
     connectionUsers = userssqliteConnection.UdbConnector(); 
    } 

    @Override 
    public void start(Stage primaryStage) { 
     // ... 
    } 
} 
関連する問題