java API看不懂,请指教

来源:百度知道 编辑:UC知道 时间:2024/06/23 01:43:56
add
public void add(Component comp,
Object constraints)将指定的组件添加到此容器的尾部。同时通知布局管理器使用指定的 constraints 对象将组件添加到此容器的布局中。这是一个适用于 addImpl(java.awt.Component, java.lang.Object, int) 的便捷方法。
注:如果已经将某个组件添加到显示的容器中,则必须在此容器上调用 validate,以显示新的组件。如果添加多个组件,那么可以在添加所有组件之后,通过只调用一次 validate 来提高效率。

参数:
comp - 要添加的组件
constraints - 表示此组件的布局约束的对象

上面是从API中拷贝过来的,请问:“这是一个适用于 addImpl(java.awt.Component, java.lang.Object, int) 的便捷方法。”是什么意思?总碰到这样的东西,看不懂。
另外:“constraints - 表示此组件的布局约束的对象”是怎么回事?
还有:“如果已经将某个组件添加到显示的容器中,则必须在此容器上调用 validate,以显示新的组件。如果添加多个组件,那么可以在添加所有组件之后,通过只调用一次 validate 来提高效率。 ”能不能给我举个例子,十分感谢!!!

我的理解是add()方法涵盖了addImpl()的功能,add()有多个重载。
constraints:同时通知布局管理器使用指定的 constraints 对象将组件添加到此容器的布局中结合这一句来理解,容器通过布局管理器来布置自己的内部组件,或者说容器受布局管理器的约束,而组件就是要添加到容器中的组件。
至于第三点,
validate: 使用 validate 方法会使容器再次布置其子组件。已经布置容器后,在修改此容器的子组件的时候(在容器中添加或移除组件,或者更改与布局相关的信息),应该调用上述方法
Label lbl1 = new Label("First");
Label lbl2 = new Label("Second");
label lbl3 = new Label("Third");

frame.add(lbl1);
frame.add(lbl2);
frame.add(lbl3);
frame.remove(lbl2);
frame.validate()
中间的Label被移除,要想按照作者的意思显示,是lbl1和lbl3紧挨着,所以调用validate来重新计算布局。

你看的应该是gui那方面的吧
add(组建(你要放在容器里的东西),
容器(frame))
大体应该是这样,给你个参考 你在看看别人的答案