当前位置: 首页 > 面试题库 >

如何将参数传递给JavaFX应用程序?

冀弘厚
2023-03-14
问题内容

我正在这样运行我的JavaFX应用程序:

public class MainEntry {
    public static void main(String[] args) {
        Controller controller = new Controller();
        Application.launch(MainStage.class);
    }
}

MainStage类扩展AppicationApplication.launch在特殊的FX线程中启动JavaFX窗口,但是在我的main方法中,我什至没有MainStage类的实例。

如何将非字符串参数(在我的情况下为 控制器 )传递给MainStage实例?它是有缺陷的设计吗?


问题答案:

通常,除了传递给您的主程序的程序参数外,无需将参数传递给主应用程序。想要这样做的唯一原因是创建一个可重用的对象Application。但这Application并不需要是可重用的,因为这是组装您的应用程序的代码。认为start方法是新的main

因此,与其编写Applicationmain方法中配置的可重用的应用程序,不如将应用程序本身作为配置器,并使用可重用的组件在start方法中构建应用程序,例如:

public class MyApplication extends Application {

    @Override
    public void start(Stage stage) throws Exception {
        // Just on example how it could be done...
        Controller controller = new Controller();
        MyMainComponent mainComponent = new MyMainComponent(controller);
        mainComponent.showIn(stage);
    }

    public static void main(String[] args) {
        Application.launch(args);
    }
}


 类似资料:
  • 问题内容: 我正在使用pm2启动我的应用程序,但无法将参数传递给它。我正在使用的命令是pm2 start app.js-dev。尽管这永远有效。 问题答案: 您可以按照此票证所述进行操作:https : //github.com/Unitech/pm2/issues/13 尽管如果通过环境,则可能需要考虑利用环境变量。使用此工具,您可以创建一个变量,该环境中的任何进程都可以访问该变量。 因此,您有

  • 问题内容: 谁能建议我如何将参数传递给线程? 另外,它如何用于匿名类? 问题答案: 你需要将构造函数中的参数传递给Runnable对象: 然后调用它:

  • 问题内容: 我试图将我的数据库对象传递给我的处理程序,而不是具有全局对象。但是我不知道这是否可行,我使用的是Gorilla Mux软件包,我可以看到它把闭包作为第二个参数。 然后定义了我可以使用的参数,理想情况下,我希望拥有这样的第三个参数。 有解决方法吗?还是我需要一个全局数据库对象?我是Go的新手,所以请详细说明可能的答案。 问题答案: 欢迎来到。 可以使用全局变量,特别是数据库对象。 但是,

  • 问题内容: 我正在A中使用RUN指令安装rpm 但是,我想将值“ 2.3”作为参数传递。我的RUN指令应类似于: 哪里 问题答案: 您正在寻找和指导。这些是Docker 1.9中的新功能。查看https://docs.docker.com/engine/reference/builder/#arg。这将允许您添加到,然后使用构建。

  • 我正在用Raku做实验,试图弄明白如何用子命令编写程序。当我运行时,: 我得到

  • 问题内容: 我的应用程序有一个JNLP软件包。现在,我需要将命令行参数传递给我的应用程序。如何扩展我的JNLP文件以列出命令行参数? 例如,我需要说和,并且需要在JNLP文件中提及。 问题答案: 请查看元素说明以获取元素的更多详细信息。 所述元素指示JNLP文件被启动应用(而不是小应用程序)。.. 可以通过包含一个或多个嵌套元素来为应用程序指定参数。 例如: