正如标题所说,我应该为每个组件制作一个GridBagConstraint对象吗?在
java如何编程第8版
他们创建了一个名为addComponent的方法,但是当我读到GridBagLayout时,我总是读到我不应该使用相同的约束对象。我该怎么办?
谢谢。
答案 0 :(得分:1)
对于添加了GridBagConstraint
的每个组件,重复使用相同的add
实例是完全安全的。 Sun GridBagLayout example重复使用相同的GridBagConstraint
实例。请注意,将使用所有GridBagConstraint
字段,因此您可能需要重置其中一些字段。
答案 1 :(得分:0)
看一下在添加任何给定组件时调用的GridBagLayout方法调用,最后调用将转到:
public void setConstraints(Component comp, GridBagConstraints constraints) {
comptable.put(comp, (GridBagConstraints)constraints.clone());
}
这里,GridBagLayout正在创建传递的约束对象的克隆,这意味着要添加的每个组件都有GridBagConstraints的新副本。因此,重用GridBagConstraints对象并根据需要对其进行更改应该是完全正常的。
此致