作为第一次使用,我已经设法让它工作,但这对我来说并不简单。
我想熟悉这个IDE的人不多,所以我将发布我遵循的步骤,作为基础教程:
然后我重新启动了 jGrasp。您可以在Tools -> System Info -> Java Version 中验证 IDE 使用的是哪个 JDK。
按照 OpenJFX 文档,我们需要从 here 下载 JavaFX SDK,然后将库添加到类路径中。转到Settings -> PATH/CLASSPATH -> Workspace,按新建,然后从下载的SDK/lib 文件夹(至少javafx-base.jar、javafx-graphics.jar 和javafx-controls.jar)中一一添加不同的JavaFX jar。
Build -> compile 现在应该可以工作了。
下一步:Build -> Run。这失败了:
----jGRASP exec: java HelloFX
Error: JavaFX runtime components are missing, and are required to run this application
----jGRASP wedge: exit code for process is 1.
----jGRASP: operation complete.
这是意料之中的。根据文档,我们需要设置 module-path 和 add-modules 参数。
- 第一次尝试:使用
Run arguments。设置后:
--module-path /Users/<user>/Downloads/javafx-sdk-11.0.2/lib --add-modules javafx.controls
再次运行失败并显示与上述完全相同的错误消息,但控制台日志中存在一个差异:
----jGRASP exec: java HelloFX --module-path /Users/<user>/Downloads/javafx-sdk-11.0.2/lib --add-modules javafx.controls
这有什么问题!?好吧...如果你在命令行上尝试,它也会失败,因为参数的顺序是错误的,vm参数应该放在类名之前。
结论:Run arguments 不是VM arguments!
- 第二次尝试:为了提供 VM 参数,我发现的选项是编辑
Settings -> Compiler settings -> Workspace。默认情况下,它使用jdk (integrated debugger) - generic。您可以查看它并查看它使用的Run:
java %S -ea %S %<FLAGS2> %<MAIN_CLASS> %<ARGS>
所以我们需要找到一种方法来设置FLAGS2,而不是ARGS。
幸运的是,在Environment 选项卡旁边,有一个Flags/Args 选项卡,我们可以在FLAGS2 中设置我们的vm 参数:
--module-path /Users/<user>/Downloads/javafx-sdk-11.0.2/lib --add-modules javafx.controls
- 应用,关闭对话框,然后
Build -> Run 类,现在它可以工作了!
如果您看到控制台日志,它包含的正是您在命令行上运行时将使用的命令:
----jGRASP exec: java --module-path /Users/<user>/Downloads/javafx-sdk-11.0.2/lib --add-modules javafx.controls HelloFX
----jGRASP: operation complete.
我猜下一步将是运行一个更复杂的项目...