Próbowanie Kotlin lang i miałem wrażenie, że jest on zgodny z Java i dlatego z JavaFX i próbowałem następujące:Kotlin. Podstawowa aplikacja JavaFX
public object TestKt: Application() {
public override fun start(stage: Stage){
val pane= Pane()
val scene=Scene(pane,200.0,200.0)
stage.scene = scene
stage.show()
}
@JvmStatic public fun main(args: Array<String>){
launch()
}
}
to jest w zasadzie taki sam jak Java
public class Test extends Application {
@Override
public void start(Stage stage) {
Pane pane=new Pane();
Scene scene=new Scene(pane, 200,200);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args){
launch();
}
}
ale Kotlin daje błąd: wyjątek w wątku "główny" java.lang.RuntimeException: nie można utworzyć instancji aplikacji: test klasy
Można też po prostu PLOP z 'zabawa main()' trochę bezpośrednio w zasięg najwyższego poziomu. – Max
To działało trochę lepiej, ale wciąż było: Wyjątek w wątku "główny" java.lang.RuntimeException: Błąd: klasa TestKt $ Companion nie jest podklasą javafx.application.Application – Elavrius
Myślę, że powinieneś użyć tej metody aplikacji: http://docs.oracle.com/javafx/2/api/javafx/application/Application.html#launch (java.lang.Class,% 20java.lang.String ...). W Kotlin, który byłby 'uruchomieniem (TestKt :: class.java)' –