【问题标题】:How do I remove a scene in a stage in javafx?如何在 javafx 的阶段中删除场景?
【发布时间】:2014-05-01 03:03:36
【问题描述】:

我想编写一个包含这些类的游戏:

--Game extends Application(pass its stage to below classes)
--StartUp extends Application(has stackpane that added to scene and scene added to stage)
--Menu extends Application
--GamePly extends Application

我希望所有这些课程都在舞台上使用。 首先,我启动 startUp 类,几秒钟后我想删除 startUp 堆栈窗格并更改场景(例如从 fxml 文件中读取),但我是 javafx 中的菜鸟。有什么想法吗?

【问题讨论】:

    标签: java javafx


    【解决方案1】:

    我相信THIS 是您正在寻找的。这里的一位成员不久前发布了此代码。如果要更改整个场景,请添加另一个包含静态舞台的类并将其设置在 main.js 中。您可以使用它来 stage.setScene(Menu)。

    要移除场景,可以直接在stage.setScene(new Scene())中创建场景

    当你设置一个新场景时,旧场景将失去它的引用,垃圾收集器会处理它。

    【讨论】:

    • 谢谢。当我看到这段代码时,我不应该将启动、菜单和游戏扩展为应用程序,我应该将它们添加到下一个 fxml 文件中。是真的吗?
    • 以及如何使用计时器而不是按钮更改 fxml 文件
    • 计时器问题对我来说有点新,因为 javafx 想要使用他们的并发包 (docs.oracle.com/javafx/2/threads/jfxpub-threads.htm) 而不是使用线程/可运行包。
    猜你喜欢
    • 2015-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    相关资源
    最近更新 更多