又来送分了!

emoam 2003-07-03 03:23:13


上次问了各位大虾关于动态添加组件的问题。现在这个问题我已经实现了通过一个按钮的点击事件来动态在界面上添加组件。但一个新的问题又产生了。

比如:我在界面上动态的添加了一个组件ComboBox对象。添加完之后,我发现我无法获得这个对象的名称。。。(自己都觉得好搞笑^o^)也就是说,在添加完之后,我无法获取它列表中的值。。。就因为我不知道这个对象的名称。。。
...全文
27 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
100geOK 2003-07-04
  • 打赏
  • 举报
回复
UP
qwjcool 2003-07-04
  • 打赏
  • 举报
回复
up
emoam 2003-07-04
  • 打赏
  • 举报
回复
阿普
emoam 2003-07-04
  • 打赏
  • 举报
回复
比如:在jbutton1中我定义了这个jb控件,但是我要在jbutton2中操作这个控件,这时候我应该怎样来取得这个控件的名称呢?

*********
你可以在外边定义成全局的吗,只是在jbutton1中初始化

**********

既然可以动态创建,那么我可以创建同一类控件多次对不对?也就是说我也不知道可能会创建同类控件多少次,那我在全局中该怎么定义呢?

geyf 2003-07-04
  • 打赏
  • 举报
回复
比如:在jbutton1中我定义了这个jb控件,但是我要在jbutton2中操作这个控件,这时候我应该怎样来取得这个控件的名称呢?

*********
你可以在外边定义成全局的吗,只是在jbutton1中初始化
javabandit 2003-07-04
  • 打赏
  • 举报
回复
同意楼上!
emoam 2003-07-04
  • 打赏
  • 举报
回复

你这个当然可以访问了,因为你刚才在前面定义了jb

但是如果你在操作这个控件之前已经定义过了这个动态控件,又该怎么样取得这个控件的名称呢?

比如:在jbutton1中我定义了这个jb控件,但是我要在jbutton2中操作这个控件,这时候我应该怎样来取得这个控件的名称呢?
xiaohaiz 2003-07-04
  • 打赏
  • 举报
回复
比如你有一个String的对象,
String str = "ABC";
现在你放入了Vector中.
Vector v = new Vector();
v.add(str);
后来你需要取出来了,是一个Object的实例
Object obj = v.get(0);
但是你很清楚知道其实它是String
所以你
String a = (String)obj; <--- 这就是downcast,因为String extends Object.
emoam 2003-07-04
  • 打赏
  • 举报
回复
sorry,java初学者,你说的我还真的不懂,呵呵,向楼上两位大虾请教如下两个问题。

我想问一下强制转换是怎样转换的?试举一例说明之。
还有就是这个downcast的用法是怎样的?可以举个例子来说明一下它的用法吗?
xiaohaiz 2003-07-04
  • 打赏
  • 举报
回复
再推楼主一把吧,可以这样扩充数组的长度

Object[] a;
a = (Object[])java.lang.reflect.Array.newInstance(a.getClass().getComponentType(), size);

不过记住,这样是一个新的数组对象实例,记得arraycopy回来.
jigsaw 2003-07-04
  • 打赏
  • 举报
回复
实现很难吗?

用Vector的话当然要downcast

用数组就不用cast了。动态扩充数组的大小也是个初级技巧罢了。。。
xiaohaiz 2003-07-04
  • 打赏
  • 举报
回复
Vector取出来的Object强制类型转换为正确的类型.
emoam 2003-07-04
  • 打赏
  • 举报
回复

想得简单实现难

比如:我每添加一个动态组件,我便将其Vec_additem.addElement(object)

但我要Vector中取出这个对象来时,用什么方法?vec_item.elementAt(i)?肯定出错的,类型不对。。。
jigsaw 2003-07-04
  • 打赏
  • 举报
回复
用数组或者vector保存不就是了
sxhv998 2003-07-04
  • 打赏
  • 举报
回复
jie fen
emoam 2003-07-04
  • 打赏
  • 举报
回复
阿普
feiyuegaoshan 2003-07-03
  • 打赏
  • 举报
回复
你添加之前记录下来对象句柄不就可以了。

如:
JComboBox jb = new JComboBox();
...
JPanel yourPanel = new yourPanel.add(jb);

用jb就可以访问JComboBox了。
ChenZhi_cz 2003-07-03
  • 打赏
  • 举报
回复
?
emoam 2003-07-03
  • 打赏
  • 举报
回复
UP

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧