Scala中的JavaFX可以';找不到发射方法
试图看看我是否可以在Scala中制作和运行JavaFX程序,我遇到了一个奇怪的问题,无法找到启动方法 以下是Java代码:Scala中的JavaFX可以';找不到发射方法,java,scala,javafx,Java,Scala,Javafx,试图看看我是否可以在Scala中制作和运行JavaFX程序,我遇到了一个奇怪的问题,无法找到启动方法 以下是Java代码: package example; import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.*; import javafx.stage.*; public class Program extends Application { @Over
package example;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.*;
import javafx.stage.*;
public class Program extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("Test.fxml"));
Scene scene = new Scene(root, 300, 275);
stage.setTitle("FXML Test");
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
以及直接到scala的转换:
package example
import javafx.application.Application
import javafx.fxml.FXMLLoader
import javafx.scene._
import javafx.stage._
object Program extends Application {
override def start(stage: Stage): Unit = {
val root = FXMLLoader.load(getClass getResource "Test.fxml")
val scene = new Scene(root, 300, 275)
stage setTitle "FXML Test Scala"
stage setScene scene
stage.show
}
def main(args: Array[String]): Unit = launch(args) // this bit fails
}
我选择了一个1:1的翻译,看看它一开始是否有效,但正如我之前所说,编译器不知道Scala one中的launch
是什么
那么我做错了什么?更重要的是,我如何解决这个问题?在Google+Scala小组中询问,由于以下原因得到了以下有效解决方案:
package example
import javafx.application.Application
import javafx.fxml.FXMLLoader
import javafx.scene._
import javafx.stage._
object Program {
def main(args: Array[String]): Unit =
Application.launch(classOf[Program], args: _*)
}
class Program extends Application {
override def start(stage: Stage): Unit = {
val root = FXMLLoader.load(getClass() getResource "Test.fxml")
val scene = new Scene(root, 300, 275)
stage setTitle "FXML Test Scala"
stage setScene scene
stage.show
}
}