我应该为每个组件创建一个GridBagConstraint对象

我应该为每个组件创建一个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对象并根据需要进行更改应该是完美的。

问候