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