JavaFX调用方法时无法添加多个参数,仅传args可正常运行怎么解决?
问题描述
我接触JavaFX仅几天时间,目前遇到的问题是我复制粘贴的相关代码(仅一行)在调用方法时,无法为该方法添加多个参数。
目前仅当我在参数位只写入args时,方法可以正常运行。我想要使用的方法如下:
解决方案
你调用的是JavaFX Application类提供的静态launch启动方法,该方法仅支持两种固定重载,不支持自定义多参数直接传入:
- 第一种:传入启动类和命令行参数:
launch(Class<? extends Application> appClass, String... args) - 第二种:仅传入命令行参数:
launch(String... args)
方法定义里的String... args是可变长字符串参数,本质为String数组,仅支持传入字符串序列或字符串数组,无法追加其他类型的入参,也不能直接传入非字符串类型的自定义参数。
对应解决方式如下:
- 若你需要传递非字符串类型的自定义参数,可提前将参数存入自定义类的静态成员变量,后续在Application的
init()、start()生命周期方法中直接读取使用即可。 - 若你需要传递多个字符串类型的启动参数,将参数组装为String数组后传入即可,示例代码:
// 组装自定义启动参数 String[] customLaunchArgs = new String[]{"窗口宽度=1280", "窗口高度=720", "窗口标题=JavaFX测试"}; // 传入参数启动 launch(customLaunchArgs);
内容的提问来源于stack exchange,提问作者HelloWorldJava
相关产品推荐
相关产品推荐

