1

我是 JavaFX 的新手,我对设计有疑问。我正在使用 Scene Builder 在 FXML 中创建我的主菜单。我有各种菜单按钮,每个按钮都有一个子菜单。这些子菜单选项将打开新窗口。是否可以声明这些子菜单选项,以便在我单击它们后它们不会消失?如果是这样,我可以在我的 fxml 中声明它还是必须以编程方式进行?

另外,是否可以将其与菜单按钮分离?我希望我的菜单选择距离菜单按钮本身大约 1 厘米。谢谢

4

1 回答 1

2

建议的替代解决方案

如果您希望在单击按钮后更灵活地定位弹出菜单以及更好地控制菜单显示和隐藏的时间,请尝试使用 Button + ContextMenu 而不是 MenuButton。

相关方法有:

在ContextMenu javadoc中有用于在按钮按下按钮上触发上下文菜单的示例代码。

如果 JavaFX 系统决定在某些用户操作后尝试隐藏它并且您仍然希望菜单可见,您可能还需要监视上下文菜单的显示属性并在侦听器中再次显示菜单。


对其他无关评论的回答

好的 这听起来合乎逻辑,但由于我在 JavaFX 方面还不是很好,你的想法很有挑战性。

实现起来并不难,但是从您随后的评论来看,这听起来可能不是您想要的用户界面(这对我来说很有意义,因为您在问题中描述的界面似乎有点奇怪)。

我想如果拥有一个具有各种菜单选项的静态 xml 会更容易,可以说向右对齐,然后每当我单击其中一个选项时,都会在屏幕中间加载一个新的 FXML,按住按钮子菜单?

这似乎合乎逻辑。听起来像是传统网页布局的 JavaFX 版本,其侧面的导航菜单控制中心的内容窗格。

一个仅限 Java 的版本是:如何在 Java 桌面应用程序中拥有菜单。您可以毫不费力地将其调整为基于 FXML 的版本。

您可能还对在 JavaFX 中管理多个屏幕感兴趣。

此外,对于初学者的任何教程将不胜感激。这些甲骨文对我来说没有太大意义

如果您开始使用 JavaFX,我建议您只使用 JavaFX 的 Java API 部分,直到您熟悉它们,然后仅在您熟悉 Java API 后使用 FXML。

就个人而言,我认为Oracle JavaFX 教程非常棒。初学者的困难在于教程也是部分参考资料,这使得其中的某些部分变得复杂(尤其是与部署相关的部分)。

如果您喜欢不同的教程风格,请参阅:

  1. Maker JavaFX 教程(适合初学者)
  2. zenjava 教程(更高级)
于 2013-05-23T18:29:51.273 回答