A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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"));是什么意思?


评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

4 个回复

倒序浏览
匿名者 发表于 2012-11-8 15:03
形参也不同呀。

我就在这个地方纠结,不知道啥意思》?
看我前面的帖子:CardLayout布局小问题,跪求答案???
这个有详细的程序?而且运行正确。
回复 使用道具 举报
自己理解下 。

java.awt.container.png (79.66 KB, 下载次数: 32)

java.awt.container.png
回复 使用道具 举报
我先解释第二个add()方法吧,它的功能是将某个组件按某种约束条件添加到容器中,而这个约束条件就是组件在容器布局中的位置,如BorderLayout.CENTER
至于第一个方法,我是这么理解的,将某名称的组件添加到容器中,不过这个方法已经过时了,可能因为那时候还没有这么多布局方式吧,现在已经被第二个方法替代了

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
吴愿涛 发表于 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 啥意思?就是这块不明白?
                }
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马