JavaFX节点 - 如何使它们可由最终用户调整大小?

7

我正在开发一个JavaFX应用程序,其中我开发了一个类(继承自javafx.scene.Parent),该类是根据用户在ListView控件中点击的条目即席创建的。

请注意,这个节点不是使用SceneBuilder等布局工具创建的,它是根据用户的操作在运行时创建的。

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

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

有人在JavaFX中做过类似的事情吗?(我的搜索结果似乎只有关于父节点与子节点的自动调整大小的主题。)

非常感谢,

Ian.

1个回答

1
如您在 VBox 文档中所见,您只能定义最小、首选和最大范围,实际上没有办法使其手动调整大小。
唯一的解决方案是开发自己的类来解决问题,因为您想要的似乎非常具体,根据您的问题描述,我不认为使用某些布局或面板可以完全满足您的要求。
我找到了一个您可以使用的东西: 拖动调整 JavaFX 区域大小 这允许您调整区域大小,之后您只需将您的 VBox 放置在此区域中即可,但请注意本文中的以下内容:

目前仅实现了高度调整。

此代码在 JavaFX8 中无效,您需要检查评论以了解它在 JavaFX8 中如何工作。

希望对您有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接