gpt4 book ai didi

JavaFX 新场景或新 Pane

转载 作者:行者123 更新时间:2023-11-29 08:46:47 24 4
gpt4 key购买 nike

我正在寻找一些组织应用程序的建议。

当你有一个包含内容选择的主菜单时,你按下一个按钮,获取 Controller 有两个选择:a) 改变当前主菜单显示的内容b) 创建一个新场景并将舞台切换到那个场景

你在用什么?有什么最佳实践吗?

目前我更喜欢 a) 因为我可以保留链接状态栏等内容,但这是“干净”的方式吗?

最佳答案

首先有一些事情需要考虑:
1) 更改场景将取消链接您附加到它的事件处理程序,并且可能还有您提到的“状态栏”。

2) Java 是一种高度面向对象的语言,这也意味着在可能的情况下在不同的对象之间进行转换并使用多态性是一种很好的做法。

我的经验与事件处理程序有关,因为除了链接到特定节点(按钮)之外,它们通常链接到场景,但可能还有其他类似的概念需要考虑。在我做的一个项目中,我经常在菜单、暂停、播放和游戏结束显示之间切换,但由于我主要使用相同的键并且几乎不涉及鼠标,所以我意识到必须创建新的事件处理程序对我没有任何好处用于单独的 Scene 对象。相反,我使用了 Scene.setRoot(); 方法来更改 Activity 显示节点/ Pane 。

但是,如果您的处理非常不同,例如从带有按钮和文本字段的菜单进入 FPS 游戏,其中每个输入都有不同的效果,而不是菜单的效果,那么可能会更好在两个不同的 Scene 对象中对事件处理程序进行不同的覆盖,而不是使用 Stage.setScene(); 方法,从而使处理程序行为多态*,而不是在处理程序中为 CPU 使用另一组控制结构当您不在菜单中时处理每一帧。

*我知道当我说多态时我指的不是继承多态性,但这是我能想到的描述避免额外运行时代码的最佳方式,以防您可能想要更好的性能。

关于JavaFX 新场景或新 Pane ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24842202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com