JavaFX节点 - 如何让最终用户调整大小?

Cla*_*man 7 javafx parent resizable

我正在开发一个JavaFX应用程序,其中我开发的类(从javafx.scene.Parent扩展)是基于用户在ListView控件中单击的条目即时创建的.

为了清楚这个节点,它不是使用像SceneBuilder这样的布局工具创建的,它是在运行时根据用户的动作创建的.

我的自定义节点类的构造函数创建一个VBox和一个Label,并使用构造函数方法中的传递坐标(X,Y)来设置自己的布局坐标.然后,我使用自定义实用程序类使节点可拖动.然后将此新节点添加到主应用程序窗格中.

但是,我没有找到如何使用户可以调整这些节点的大小.也就是说,允许用户将鼠标悬停在节点的角落上,按住并拖动以调整大小.无论操作系统是什么,所有用户都习惯的操作.

有没有人在JavaFX中做过这样的事情?(我对该主题的搜索似乎只是在父节点对其子节点进行的自动调整大小时提取主题.)

非常感谢,

伊恩.

Eva*_*eil 1

正如您在VBox 文档中看到的,您只能定义最小范围、首选范围和最大范围,实际上没有办法让它手动调整大小

解决你的问题的唯一正确的解决方案是开发你自己的类来做到这一点,因为你想要的似乎非常具体,根据你的问题描述,我不认为使用某些布局或面板会做你真正想要的事情。

我发现了一些你可以使用的东西:Dragging to resize a JavaFX Region

这允许你调整一个区域的大小,你所要做的就是将你的 VBox 放在这个区域中,但请注意本文中:

目前仅实现高度调整。

该代码在 JavaFX8 中不起作用,您必须检查注释以了解它在 JavaFX8 中的工作原理

希望这可以帮助。