gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 12:54:46 27 4
gpt4 key购买 nike

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

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

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

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

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

非常感谢,

伊恩。

最佳答案

正如您在 documentation of VBox 上看到的那样您只能定义最小、首选和最大范围,实际上没有办法手动调整大小。
解决您的问题的唯一正确解决方案是开发自己的类来执行此操作,因为您想要的似乎非常具体,根据您的问题描述,我认为使用某些布局或面板不会满足您的需求。
我找到了一些你可以使用的东西:Dragging to resize a JavaFX Region
这允许你调整一个区域的大小,之后你要做的就是把你的 VBox 放在这个区域,但是在这篇文章中注意:

Only height resizing is currently implemented.

This code won't work in JavaFX8, you'll have to check the comment to see how it worls in JavaFX8


希望这可以帮助。

关于JavaFX 节点 - 如何让最终用户调整它们的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19118840/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com