我试图按照这里的说明,使用Gradle,用Kotlin和Java 11构建一个简单的JavaFX11程序。但是,这个页面使用的是Gradle的Groovy DSL,而我正在尝试使用Kotlin DSL。令人惊讶的是,我在谷歌搜索时没有找到一个文档,将每个Groovy构造映射到其等价的Kotlin构造,或者解释如何将Groovy DSL代码转换为等价的Kotlin DSL代码。(这似乎是Gradle文档中的一个大疏忽!)。
特别是,本文档包含以下Groovy代码:
compileJava {
doFirst {
options.compilerArgs = [
'--module-path', classpath.asPath,
'--add-modules', 'javafx.controls'
]
}
}
run {
doFirst {
jvmArgs = [
'--module-path', classpath.asPath,
'--add-modules', 'javafx.controls'
]
}
}
据我所知,相当于第一部分的Kotlin似乎是:
tasks.withType<JavaCompile> {
options.compilerArgs.addAll(arrayOf(
"--module-path", classpath.asPath,
"--add-modules", "javafx.controls"
))
}
但是,我一直搞不清楚相当于第二部分的Kotlin DSL是什么。请注意,'run'是Kotlin的标准库中的一个标准函数扩展,因此这段代码的Kotlin版本似乎不能在Kotlin DSL中使用名称'run'来实现相同的目的。
(注:我曾考虑过尝试使用一个支持JavaFX的插件(例如,如本页所述),但该插件似乎使用起来相当复杂,而且我已经在这个项目中遇到了足够多的复杂问题,以至于我不太愿意引入一个文档很少的开源插件。目前我确实在尝试用JavaFX/Gradle生成尽可能简单的“Hello,World”程序,但到目前为止,这似乎出奇地困难。)。
如有任何帮助,我们将不胜感激。
使用配置避免API,与第二个块等效的是:
tasks.named<JavaExec>("run") {
doFirst {
jvmArgs = listOf("--module-path", classpath.asPath,"--add-modules", "javafx.controls")
}
}
关键是run具有javaexec
类型,与任何任务的类型一样,可以通过创建一个任务来发现它,以打印您随后运行的任务的类:
tasks.register("getName") {
doFirst {
print("Class name: ${tasks["run"].javaClass}")
}
}
注意,随着JavaFX应用程序的增长,您将需要指定如下所示的附加模块:
tasks.named<JavaExec>("run") {
doFirst {
jvmArgs = listOf("--module-path", classpath.asPath,
"--add-modules", "javafx.base,javafx.controls,javafx.graphics")
}
}
等价 cljs 的数据结构是在 js 基础之上实现的. 数值类型的数据可以直接判断. 一般通过 (= a b) 判断 a 和 b 的内容是否一致. Collection 类型数据除了 = 函数之外, 还可以使用 identical? 函数判断两个数据的引用是否一致. (identical? {} {}) ; true (identical? {:a 1} {:a 1}) ; false (= {:
我正在使用Java SDK在HarmonyOS中创建一个自定义组件,在那里我必须在组件实例延迟后执行一些任务。 在Android中,我们在View类中有方法。因此,我们可以实现以下要求 但是,在HMOS java SDK中,我看到组件类中没有任何可用于延迟的api。 所以,我的问题是 harmonyos中view.postdelayed(可运行的操作,长延迟)的等价物是什么?
我是WPF技术的新手。我已经在WinForms开发了大约6年。 现在我想通过学习WPF来提高我的技能一大步。我正在阅读MSDN中的介绍指南,同时作为个人练习,我试图将WinForms UI的sructure转换为其WPF UI的等价物。 这是我想在WPF中重现的WinForms控件结构的简单模型: 我的问题:有人可以指导我或给我一个简短的例子,我如何可以添加一个下拉按钮的东西在工具栏?。
Intellij中的等效快捷方式是什么?
我已经看了好几次留档了,看了来源,都没用。 我在寻找与PHPUnit的“this”相同的Codeception- 根据文档,就像这应该是可行的,但它不是“未定义的方法”。我必须激活哪个助手、模块或其他什么?