怎样给 mirai-console 的插件加入图形界面?
-
今天花了一上午研究怎么把 javafx 嵌入插件项目里,毫无进展。
第一个问题是我的 gradle 脚本该怎么写……
-
-
emmmm
-
@wybxc 懂了,需要先点一下“加载Gradle”变更
-
终于知道该怎么搞了……
首先编辑 build.gradle.kts,在 plugins 里
id("net.mamoe.mirai-console") version "2.x.x"
下一行加入id("org.openjfx.javafxplugin") version "0.0.10"
这时候在 idea 的右上角会出来这个:
先点击第一个,然后继续编辑 build.gradle.kts,在最后添加
javafx { modules = listOf("javafx.controls") }
然后再点击这个:
之后就可以正常地引入 JavaFX 了:
import javafx.application.Application import javafx.stage.Stage class HelloApplication : Application() { override fun start(stage: Stage) { stage.title = "JavaFX" stage.show() } } fun showGUI() { Application.launch(HelloApplication::class.java) }
-
下一个问题是 OpenJDK 11 已经没有内置 JavaFX,所以直接在 mirai-console 里启动会报错。
解决方法是下载 OpenJFX 的 SDK,然后在启动 mirai-console 时引入 JavaFX。
以 Windows 系统下的 mirai-console-loader 为例,这是我的启动脚本
mcl.cmd
:@echo off set JAVA_BINARY="D:\mirai\java\bin\java.exe" set JAVA_LIBS="D:\mirai\java\javafx\lib" %JAVA_BINARY% --module-path %JAVA_LIBS% --add-modules javafx.controls -jar mcl.jar %*
这里的
D:\mirai\java\javafx
文件夹是下载的 OpenJFX SDK 解压后的位置。 -
@wybxc 在 怎样给 mirai-console 的插件加入图形界面? 中说:
下一个问题是 OpenJDK 11 已经没有内置 JavaFX,所以直接在 mirai-console 里启动会报错。
解决方法是下载 OpenJFX 的 SDK,然后在启动 mirai-console 时引入 JavaFX。
以 Windows 系统下的 mirai-console-loader 为例,这是我的启动脚本
mcl.cmd
:@echo off set JAVA_BINARY="D:\mirai\java\bin\java.exe" set JAVA_LIBS="D:\mirai\java\javafx\lib" %JAVA_BINARY% --module-path %JAVA_LIBS% --add-modules javafx.controls -jar mcl.jar %*
这里的
D:\mirai\java\javafx
文件夹是下载的 OpenJFX SDK 解压后的位置。如果要发布的话,其实建议用jlink打包一个jre环境进去
(应该大部分人都不会在自己电脑里装javafx,除了有开发需求的