如何得到对象的名称?

qiandeng 2001-09-25 11:02:44
我用getComponents取得一组对象,但是如何取得他的name值却成问题,那个getName方法竟然返回的是空,而getClass().getName取的只是对象的类名称
...全文
214 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiandeng 2001-09-27
  • 打赏
  • 举报
回复
结帐算了
chrischen79 2001-09-27
  • 打赏
  • 举报
回复
呵呵,早上有人工智能的课,要上网看东西就要早起了。
qiandeng 2001-09-27
  • 打赏
  • 举报
回复
to: chenyuan_tongji(chenyuan_tongji) (
是的,BCB和Delphi下的类都有这个方法,可以直接取得对象名。
Java下,我找不到
另外老兄早上似乎起的很早呢。



chrischen79 2001-09-27
  • 打赏
  • 举报
回复
BCB和Delphi下的Button->Name或Button.name获得的是对象名?其他类都有这个method吗?java下面有没有我不知道。看来帮不上你的忙了。
qiandeng 2001-09-26
  • 打赏
  • 举报
回复
是呀
我就是问java下有没有类似的封装?可以直接得到name的,是name不是label或text
chrischen79 2001-09-26
  • 打赏
  • 举报
回复
to:qiandeng(千灯) 
IMO,你说的BCB和Delphi下的Button->Name或Button.name是他们封装好的method,我感觉和
java.awt.Button.getLabel()差不多。
qiandeng 2001-09-26
  • 打赏
  • 举报
回复
to: chenyuan_tongji(chenyuan_tongji) 
我用的是BCB,在C++下我是这么实现的
if (Button1->Name=="button1") {...};
在Delphi下是这样写的
if Button1.name="button1" then
begin
...
end
可以在java下呢?
general2000 2001-09-26
  • 打赏
  • 举报
回复
up
chrischen79 2001-09-26
  • 打赏
  • 举报
回复
to:qiandeng(千灯) 
c++下面你如何实现的?
qiandeng 2001-09-25
  • 打赏
  • 举报
回复
我取得对象要根据他的名字来判断
比如
a := getComponter();
if (a[i].getName = "btnOK"){
.....
}
但是getName好象是返回类名称的,而不是返回对象名称的
Norwaywoods 2001-09-25
  • 打赏
  • 举报
回复
你应该用Class类的getName()方法
skyyoung 2001-09-25
  • 打赏
  • 举报
回复
既然取得那组对象,那么name 又有何用呢?
getClass().getName() aaa = arr[0];
qiandeng 2001-09-25
  • 打赏
  • 举报
回复
to: chenyuan_tongji(chenyuan_tongji) 
这个我也知道,但是我想问的是不派生子类,能不能做到?
因为这个在其他语言里是很容易的事呀,无论是delphi,c++都很简单
难道就是java这么麻烦吗?
chrischen79 2001-09-25
  • 打赏
  • 举报
回复
派生出一个JTextField子类,增加一个member var和两个member method:
protected String ObjectName;
public void setObjectName(String name){ ObjectName = name;}
public String getObjectName() {return ObjectName;}

每次初始化该类的对象时,多添加一行foo.setObjectName("foo") (假设foo是你构造的对象的名字)
qiandeng 2001-09-25
  • 打赏
  • 举报
回复
非也
比如我现在是个JTextField类,我就需要求他的名字
比如

if (a[i].name = "jtextfield1") {
str := (JTextField)a[i].getText;
}
if (a[i].name = "jtextfield2") {
.......
}


BlueHand 2001-09-25
  • 打赏
  • 举报
回复
同意!‘ddd’去不出来的 ,也没有必要。
对于按钮你getActionCommand取得它的标题就足够了
qiandeng 2001-09-25
  • 打赏
  • 举报
回复
因为对象是动态生成的,我只是需要根据名字做一些判断
比如
if (这个对象的.name = "ddd") {
.....
}
hyhong_h 2001-09-25
  • 打赏
  • 举报
回复
“ddd”是个对象运用,只在编程的时候存在,当程序在运行时,只是一个地址值,你怎么能取出来呢?
deerfly 2001-09-25
  • 打赏
  • 举报
回复
同意: qiandeng(千灯)的看法,我想你取得名字的意图无非是要对对象进行操作,我想上面的方法足以满足你的要求了 
qiandeng 2001-09-25
  • 打赏
  • 举报
回复
不是,我说的是对象的名称
比如
JButton ddd= new JButton("ok");
我要的就是这个ddd的名称
如何根据对象(用getComponents得到的数组)求得名字?
加载更多回复(2)

62,615

社区成员

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

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