【问题标题】:JavaFX switching between two panes in a UIJavaFX 在 UI 中的两个窗格之间切换
【发布时间】:2020-08-13 04:42:33
【问题描述】:

我需要为 UI 的用户提供在单击按钮(或切换开关或其他任何东西)时在两个边框窗格之间切换的选项。

窗格具有相同的工作、大小和位置 - 只是配置不同,因此我不希望它们同时存在。 在 SceneBuilder 中设计 UI 时,我不能将它们放在同一个位置并设置一个可见和一个不可见 - 因为 SceneBuilder 显然不知道我想将它们堆叠在一起。

有没有一种方法可以将它们都包含在 UI 中,但一次只显示一个?

如果有任何想法,我将不胜感激 :)!

【问题讨论】:

  • "因为 SceneBuilder 显然不知道我想将它们堆叠在一起" – 你的意思是什么?如果您使用StackPane,这两个将被堆叠,您可以根据需要简单地切换每个的可见性(后一部分需要在代码中完成,可能在 FXML 控制器中)。
  • 类似的问题在这里:stackoverflow.com/questions/8309802/…
  • 这有帮助吗? Switch between panes in JavaFX

标签: java eclipse user-interface scenebuilder borderpane


【解决方案1】:

您正在寻找的是 CardLayout。请参阅 oracle 的文档:https://docs.oracle.com/javase/tutorial/uiswing/layout/card.html

不要将组件直接添加到带有 BorderLayout 的组件中,而是添加一个使用 CardLayout 的 JPanel。将这两个组件添加到此 JPanel。

不幸的是,我现在无法使用 SceneBuilder 对此进行测试,但你会弄清楚它是如何工作的;)

【讨论】:

  • 问题是关于 JavaFX,而不是 Swing。他们可能会嵌入 Swing 以利用 CardLayout,但是当可能有纯 JavaFX 解决方案时为什么要这样做......?
  • stackoverflow.com/questions/29271239/… 这将是在 JavaFX 中包含 Swing 的解决方案
猜你喜欢
  • 2013-04-17
  • 1970-01-01
  • 2018-04-13
  • 1970-01-01
  • 2016-04-14
  • 2021-02-13
  • 2017-07-11
  • 2018-10-26
  • 2018-09-03
相关资源
最近更新 更多