2

我正在处理几周后的组件调整大小。我写在这里是因为我不知道如何解决这个问题。

我创建了将几个 TabPanes 保存到一个大 BorderPane 中的示例应用程序。我想使用鼠标拖放来调整组件的大小。位于边框中心的 TabPane 可以通过鼠标拖放成功调整大小。现在大问题来了。在 JavaFX 8 中,位于调整大小的组件右侧和下方的组件被推到舞台的可见区域后面。我想在调整组件大小时自动缩小它们或扩展它们。

只需下载示例并使用 JavaFX 8 构建它。加载应用程序后,将光标移动到舞台中央的边框并用鼠标拖动它。附近的组件将被推送。我想防止移动附近的组件。我想缩小它们的尺寸。

你能帮我解决这个大问题吗?

示例代码: http ://www.4shared.com/zip/VPrDH8cp/ResizeTest.html 第二个链接: http ://rapidshare.com/files/3352955703/ResizeTest.zip

4

1 回答 1

1

尝试改用 SplitPane 组件。他们已经内置了对拖动调整大小的支持,并且可以通过几个水平和垂直拆分轻松模拟边框布局。

如果您必须坚持使用 BorderPane,您可以使用Scenic 视图来分析场景图。使用它来查看容器的最小/首选/最大尺寸以及您尝试调整大小的元素 - 也许它们设置了最小尺寸。

此外,您的拖动调整大小代码应考虑中心和边框元素的最小和最大尺寸。一旦元素达到其最小尺寸,就停止调整大小(使用 SplitPane,您可以免费获得此功能)

于 2013-08-29T13:18:01.290 回答