黑马程序员技术交流社区
标题: java.awt.Container的这两个add方法有什么区别? [打印本页]
作者: 胡斌 时间: 2012-11-8 14:29
标题: java.awt.Container的这两个add方法有什么区别?
public Component add(String name,Component comp)和
public void add(Component comp,Object constraints)
除了返回类型不同,还有什么区别?
例如:JPanel p = new JPanel();
p.add("A"+i,new JButton("Center"));是什么意思?
作者: 胡斌 时间: 2012-11-8 15:22
匿名者 发表于 2012-11-8 15:03
形参也不同呀。
我就在这个地方纠结,不知道啥意思》?
看我前面的帖子:CardLayout布局小问题,跪求答案???
这个有详细的程序?而且运行正确。
作者: 奋斗的青春 时间: 2012-11-8 15:54
自己理解下 。
-
java.awt.container.png
(79.66 KB, 下载次数: 32)
作者: 杨志男 时间: 2012-11-8 16:08
我先解释第二个add()方法吧,它的功能是将某个组件按某种约束条件添加到容器中,而这个约束条件就是组件在容器布局中的位置,如BorderLayout.CENTER
至于第一个方法,我是这么理解的,将某名称的组件添加到容器中,不过这个方法已经过时了,可能因为那时候还没有这么多布局方式吧,现在已经被第二个方法替代了
作者: 胡斌 时间: 2012-11-8 16:41
吴愿涛 发表于 2012-11-8 15:54
自己理解下 。
已经看过了,看不明白!
for(int i=0;i<10;i++)
{
mp=new myPanel(i+1);
/**
* Component add(String name, Component comp)
将指定组件添加到此容器中。
public Component add(String name,Component comp)和
public void add(Component comp,Object constraints)
除了返回类型不同,还有什么区别?(其实这个返回类型根本用不到,
用这个方法主要是用这个方法的副作用,而不需要它返回的对象。)
比如,cp是一个Container并且jp.setLayout(new BorderLayout());
我写
cp.add(BorderLayout.CENTER, new JButton("Center"));和
cp.add(new JButton("Center"),BorderLayout.CENTER);
有区别吗?
*/
p.add("A"+i,mp);//这里A是什么意思?还有"A"+i 啥意思?就是这块不明白?
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |