gpt4 book ai didi

java - Swing 布局对容器的依赖

转载 作者:行者123 更新时间:2023-12-02 06:43:51 28 4
gpt4 key购买 nike

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

我不确定 Container 对象添加了哪些信息以及为什么 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 的插入来计算大小。

关于java - Swing 布局对容器的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18856174/

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