调整组件大小

时间:2013-08-25 19:53:44

标签: javafx-2 javafx javafx-8

我正在研究几周内调整大小的组件。我在这里写,因为我不知道如何解决这个问题。

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

如果你必须坚持使用BorderPane,你可以使用Scenic view来分析场景图。使用它来查看容器的min / pref / max大小以及您尝试调整大小的元素 - 可能它们具有最小尺寸集。

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