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

时间:2013-10-01 14:26:59

标签: javafx parent resizable

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

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

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

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

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

非常感谢,

伊恩。

1 个答案:

答案 0 :(得分:0)

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

解决问题的唯一合适的解决方案是开发自己的类来完成它,因为你想要的东西看起来非常具体,你的问题描述,我不认为使用一些布局或面板会做你想要的

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

这允许你调整一个区域,所有你需要做的就是把VBox放在这个区域,但在本文中注意:

  

目前仅实施身高调整大小。

     

此代码在JavaFX8中不起作用,您必须检查注释以查看它在JavaFX8中的作用

希望这有帮助。