摆动布局依赖于容器



为什么 GroupLayout 需要容器作为构造函数的参数,而 BorderLayout 不需要?

我不确定容器对象添加了哪些信息以及为什么 BorderLayout 不需要这些信息。

查看此内容的最佳方法是查看源代码。 GroupLayout构造函数将Component(而不是容器,如您所说)保存到名为 host 的字段中。 然后,在以下方法中使用此字段:

javax.swing.GroupLayout#adjustSize
javax.swing.GroupLayout#checkParent
javax.swing.GroupLayout#getComponentInfo
javax.swing.GroupLayout#invalidateHost
javax.swing.GroupLayout#isLeftToRight
javax.swing.GroupLayout#replace
javax.swing.GroupLayout.AutoPreferredGapSpring#calculatePadding
javax.swing.GroupLayout.ContainerAutoPreferredGapSpring#calculatePadding
javax.swing.GroupLayout.ContainerAutoPreferredGapSpring#updateSize
javax.swing.GroupLayout.PreferredGapSpring#getPadding

这些方法中的每一种都需要知道Component是谁。 例如,adjustSize使用Component的插图来计算大小。

相关内容

  • 没有找到相关文章

最新更新