В настоящее время я пытаюсь объединить следующие технологии:Как настроить приложение ГЛЮОНА с Котлин и Tornado FX
- глюоны (Мобильные)
- Gradle (зависимость глюонов, так как они полагаются на него)
- Котлин (потому что это хороший язык, который я хочу, чтобы погрузиться в)
- Tornado FX (я предполагаю, что это для JavaFX, чем Анко для Android)
ISSU e, что я относительно новичок в 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 жаловаться на Котлин. Я преобразовал простой класс приложения, чтобы выглядеть следующим образом:
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
никогда не разрешаются.
Есть проблема, потому что Торнадо, похоже, использует Kotlin 1.0.5
, а я хочу использовать 1.0.6
? (Хотя это не имеет никакого эффекта, если я могу изменить его, считая (все еще не используется, потому что «нерешенным») View
...)
С уважением, Daniel
Я попробовал ваш точный файл сборки без каких-либо изменений, и я был в состоянии импортировать его в IDEA без проблем. Можете ли вы попытаться запустить «град-сборку» из командной строки, чтобы убедиться, что это просто проблема с IDEA или что-то еще? –
Самое смешное: с консоли он и строит, и запускается. Но IDE настаивала, что она была неправильно настроена и не могла использовать Kotlin и Tornado из коробки ... – dzim
@edvin, поэтому у вас есть другие плагины, библиотеки и т. Д.уже настроен до импорта? Я начал с новой установки IDEA и должен был преобразовать оригинальную Java в Kotlin. И там начались проблемы. – dzim