現在、次のテクノロジーを組み合わせようとしています。
- グルオン(モバイル)
- Gradle (Gluon に依存しているため、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
...)
よろしく、ダニエル