gpt4 book ai didi

gradle - 如何使用 Kotlin 和 Tornado FX 设置 Gluon 应用程序

转载 作者:行者123 更新时间:2023-12-02 13:39:28 24 4
gpt4 key购买 nike

我目前尝试结合以下技术:

  • 胶子(手机)
  • Gradle(Gluon 的依赖,因为他们依赖它)
  • Kotlin(因为我想深入了解它是一门很好的语言)
  • Tornado FX(我猜是 JavaFX 的,Anko 是 Android 的)

  • 问题是,我对 Intellij-IDEA 比较陌生,并且在正确设置它时遇到了问题,尽管我认为 build.gradle文件足够合适。

    这是我的 build.gradle到目前为止看起来:
    buildscript {
    ext.kotlin_version = '1.0.6'

    repositories {
    jcenter()
    mavenCentral()
    }

    dependencies {
    classpath 'org.javafxports:jfxmobile-plugin:1.2.0'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
    }

    apply plugin: 'org.javafxports.jfxmobile'
    apply plugin: 'kotlin'
    // apply plugin: 'com.android.application'
    // apply plugin: 'kotlin-android'

    repositories {
    jcenter()
    mavenCentral()
    maven {
    url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
    }
    }

    mainClassName = 'eu.dzim.test.Main'

    dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    // compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
    compile 'com.gluonhq:charm:4.2.0'
    compile 'no.tornado:tornadofx:1.5.9'
    compile 'no.tornado:tornadofx-controls:1.0.4'
    }

    jfxmobile {
    downConfig {
    version = '3.1.0'
    // Do not edit the line below. Use Gluon Mobile Settings in your project context menu instead
    plugins 'display', 'lifecycle', 'statusbar', 'storage'
    }
    android {
    manifest = 'src/android/AndroidManifest.xml'
    }
    }

    我至少设法阻止 IDE 提示 Kotlin。我将一个简单的应用程序类转换为如下所示:
    package eu.dzim.test

    import com.gluonhq.charm.down.Platform
    import javafx.application.Application
    import javafx.scene.Scene
    import javafx.scene.layout.BorderPane
    import javafx.stage.Screen
    import javafx.stage.Stage

    /**
    * Created by daniel on 06.01.17.
    */
    class Main : Application() {

    @Throws(Exception::class)
    override fun start(stage: Stage) {

    var width = -1.0
    var height = -1.0
    if (Platform.isDesktop()) {
    width = 480.0
    height = 640.0
    stage.title = "Test"
    }
    val primaryScreen = Screen.getPrimary()
    val visualBounds = primaryScreen.visualBounds
    if (width < 0 || height < 0) {
    width = visualBounds.width
    height = visualBounds.height
    }

    val root = BorderPane()

    val scene = Scene(root, width, height)

    stage.scene = scene

    stage.show()
    }
    }

    但现在我被困住了,因为对 Tornado FX 的依赖没有得到正确解决。
    我想创建一个 View并开始
    package eu.dzim.test

    import tornadofx.View
    import tornadofx.borderpane

    class Root : View("My View") {
    override val root = borderpane {

    }
    }

    但是像 import tornadofx.View 这样的进口永远得不到解决。

    是不是有问题,因为 Tornado 好像用 Kotlin 1.0.5 , 而我想使用 1.0.6 ? (虽然这没有效果,但如果我改变它,关于(仍然未使用,因为“未解决”) View ...)

    问候,
    丹尼尔

    最佳答案

    当 IDEA 分析构建文件并生成无效元数据时,似乎出了点问题,可能是由于对构建配置的增量更改。要重新生成元数据,请执行以下操作

  • 关闭想法
  • 删除项目文件夹中的 .idea 文件夹
  • 导入项目

  • 这次元数据将从已经完成的构建文件中生成,并且应该正确设置。

    另请注意,默认情况下 Kotlin 插件将在 src/main/kotlin 中编译 Kotlin 源代码。 .更改源文件夹或配置 Kotlin 插件以在 src/main/java 中编译源代码:
    sourceSets {
    main.kotlin.srcDirs += 'src/main/java'
    }

    关于gradle - 如何使用 Kotlin 和 Tornado FX 设置 Gluon 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41508144/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com