Tow*_*wer 17 scala javafx fxml
是否有一些指南或演练来构建Scala + JavaFX桌面应用程序?
我很难找到一个好的来源,我使用IntelliJ IDEA作为IDE.
即使是最简单的桌面问候世界样本也会有很大帮助,因为我几乎无法从哪里开始.
更新:这就是我现在拥有的:
import javafx.application.Application
import javafx.scene.Scene
import javafx.scene.layout.StackPane
import javafx.stage.Stage
import javafx.scene.control.Label
class Test extends Application {
override def start(primaryStage: Stage) {
primaryStage.setTitle("Sup!")
val root = new StackPane
root.getChildren.add(new Label("Hello world!"))
primaryStage.setScene(new Scene(root, 300, 300))
primaryStage.show()
}
}
object Test {
def main(args: Array[String]) {
val t = new Test
t.start(new Stage)
}
}
Run Code Online (Sandbox Code Playgroud)
运行它我得到:
线程"main"中的异常java.lang.IllegalStateException:不在FX应用程序线程上; currentThread = main
如何让它显示带有标签的hello world窗口?
Kai*_*ren 30
编写基于Scala的JavaFX应用程序时需要了解一些事项.
首先,这是一个示例hello world应用程序:
import javafx.application.Application
import javafx.scene.Scene
import javafx.scene.layout.StackPane
import javafx.stage.Stage
import javafx.scene.control.Label
class Test extends Application {
println("Test()")
override def start(primaryStage: Stage) {
primaryStage.setTitle("Sup!")
val root = new StackPane
root.getChildren.add(new Label("Hello world!"))
primaryStage.setScene(new Scene(root, 300, 300))
primaryStage.show()
}
}
object Test {
def main(args: Array[String]) {
Application.launch(classOf[Test], args: _*)
}
}
Run Code Online (Sandbox Code Playgroud)
运行它你应该得到:
以下是Java中的官方hello world示例:http://docs.oracle.com/javafx/2/get_started/hello_world.htm
主要区别是:
def main()
启动实际的应用程序.Application.launch(classOf[Test], args: _*)
.如果您只是尝试直接运行应用程序,Application.launch(args : _*)
则会收到此错误:
线程"main"中的异常java.lang.RuntimeException:错误:类Test $不是javafx.application.Application的子类
要了解有关JavaFX的更多信息,请阅读官方文档:http://docs.oracle.com/javafx/index.html
归档时间: |
|
查看次数: |
10626 次 |
最近记录: |