将系统的参数解析为javafx类

时间:2017-01-18 11:33:14

标签: java javafx

我正在开发一个javafx应用程序。扩展Application接口的我的应用程序类GUI包含系统的所有变量和游戏的构造函数,它实际上包含接口与我的数据库的连接。

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

我想知道是否有可能在GUI调用的构造函数内部解析系统参数。我试图添加它们,但我遇到了几个错误:

  

Application构造函数中的异常   java.lang.reflect.InvocationTargetException   运行应用程序GUI的异常

有没有办法将它们传递给我的系统?

1 个答案:

答案 0 :(得分:1)

所有这些都包含在documentation

首先请注意,您的Application子类必须具有无参数构造函数,并且FX Application工具包会调用该构造函数来创建start(...)的实例(调用init()和其他方法)。这就是当您尝试使用带有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) {
      // ...
   }
}