关于java JPanel 里面 add (字符串,组件)

for(int i=0;i<10;i++){
myPanel[i]=new MyPanel(i+1);
p.add("A"+i,myPanel[i]);
}
这个语句中
p.add("A"+i,myPanel[i]); “A”+i 有什么用
是什么意思 为什么我在我的整个代码里面去掉这个后就不显示了
求各位大侠帮帮忙
一般 Jpanel的类的 add 方法 在什么情况下
用add(字符串,组件)形式

"A"+i是容器myPanel[i]的名字 。

myPanel[i]这个是一个容器对象,在容器的调用过程中,如果一直使用容器对象是很不方便的。所以在add()方法中,可以给容器添加一个字符串作为它的名字用以区分其他容器 。而此时这个容器的名字就是Ai。

p.add("A"+i,myPanel[i]);这句代码的作用是:在你声明了一个myPanel[i]时,你并没有使用它,你必须使用add()函数把它添加进你的JPanel中,这样才能显示出来。追问

"A"+i 这个我去掉后为什么 myPane[i]就不显示了

一般 Jpanel的类的 add 方法 在什么情况下
用add(字符串,组件)形式

追答

add()方法第一个参数必须要有。但是你可以自己改。

在add方法之后,应该还有show()方法吧?show()方法中要用到组件的名字:"A"+i

把"A"+i改了之后必须在show()里面也改。才能显示出来

追问

额 没有show()呢
这段代码是我书上的一个例子
JPanel 的add()不是有两种形式吗
一种是 add(组件)
一种是 add(字符串,组件)
为什么 我的这个用第一种就不显示 而一定要用 字符串的那种才显示呢

追答

刚才查过api了,
add(Component comp)
将指定组件追加到此容器的尾部。

add(String name, Component comp)
将指定组件添加到此容器中。

因为只含组件参数时是追加到容器的底部的原因吧。

show()的方法是在卡片布局中切换到其他卡片用的。

追问

教材上面写的这两种形式额~~
例子上面也没用到你说的 show()方法

追答

刚才查过api了,

add(Component comp)
将指定组件追加到此容器的尾部。

add(String name, Component comp)
将指定组件添加到此容器中。

因为只含组件参数时是追加到容器的底部的原因吧。

追问

额 还是不太明白

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-12
"A"+i相当于是myPanel[i]的名字。用于区分i个myPanel[i]。

在声明了一个 自定义的容器后,你仅仅是声明了它,但是没有把它添加到JPanel中。当然不会显示了。使用p.add(字符串 A,子容器对象 B)的方法。字符串A相当于就是myPanel[i]的名字,用于区分其他容器。myPanel[i]是一个容器对象。
第2个回答  2012-08-12
p.add("A"+i,myPanel[i]);
你是 ("A"+i,myPanel[i]); 反了吧 "A"+i 是个字符串 add 第一个参数 是类 不是字符串追问

没反 程序是对的

本回答被网友采纳
相似回答