我目前正在尝试学习JavaFX和FXML(以及Java)并决定编写一个基于文本的RPG。这个基础已经很久以前写过,但现在我想更好地完成整个事情。包括视觉效果,即GUI。
首先:我想使用FXML来做这件事。然而,这并不意味着我对使用基本Java的方式不感兴趣。
我想要构建的是一个完全动态的GUI。无论如何调整大小,组件(理想情况下也是文本)将位于相对于其他组件/窗口边界的相同位置。
窗口会有一些顶部,有几个按钮用于保存,菜单,概述等等。在左下方,将是字符信息:健康,体验,金钱等。在右侧将是文本输出(使用Scrollpane)加上文本字段,用于用户输入。在文本输入/输出下方,我放置用于操作和决定的按钮。左下角不包含任何内容,但它应该是一个单独的区域。
起初我尝试使用Splitpanes,不知道它们可以随时调整大小并且有可见的分隔符。现在我不确定该怎么做。
Gridpane会提供我需要的一些功能(区分区域),但也不能提供我想要的灵活性(除非我不知道该怎么做)。我无法让它发挥作用。所以我尝试使用简单的面板。但是对于他们,我无法弄清楚如何保持面板保持其相对位置和大小,以及如何使按钮坚持边界。
那么最好的方法是什么呢? GridPane?面板?还有其他我想念的东西?由于我真的不知道如何实现这一点,所以任何方向的任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
您是否阅读过layout tutorial?
根据你的描述,听起来像BorderPane
可能最适合整体布局(即场景图的根):我不太确定你是否可以轻松让它给你空底你想要的左角。或者,您可以按照建议使用GridPane
,并应用适当的ColumnConstraints
和RowConstraints
来调整窗格中单元格的大小。