派生出一个JTextField子类,增加一个member var和两个member method: protected String ObjectName; public void setObjectName(String name){ ObjectName = name;} public String getObjectName() {return ObjectName;}每次初始化该类的对象时,多添加一行foo.setObjectName("foo") (假设foo是你构造的对象的名字)
to: chenyuan_tongji(chenyuan_tongji) 这个我也知道,但是我想问的是不派生子类,能不能做到? 因为这个在其他语言里是很容易的事呀,无论是delphi,c++都很简单 难道就是java这么麻烦吗?
to:qiandeng(千灯) c++下面你如何实现的?
to: chenyuan_tongji(chenyuan_tongji) 我用的是BCB,在C++下我是这么实现的 if (Button1->Name=="button1") {...}; 在Delphi下是这样写的 if Button1.name="button1" then begin ... end 可以在java下呢?
比如
a := getComponter();
if (a[i].getName = "btnOK"){
.....
}
但是getName好象是返回类名称的,而不是返回对象名称的
比如
JButton ddd= new JButton("ok");
我要的就是这个ddd的名称
如何根据对象(用getComponents得到的数组)求得名字?
比如
if (这个对象的.name = "ddd") {
.....
}
对于按钮你getActionCommand取得它的标题就足够了
比如我现在是个JTextField类,我就需要求他的名字
比如if (a[i].name = "jtextfield1") {
str := (JTextField)a[i].getText;
}
if (a[i].name = "jtextfield2") {
.......
}
protected String ObjectName;
public void setObjectName(String name){ ObjectName = name;}
public String getObjectName() {return ObjectName;}每次初始化该类的对象时,多添加一行foo.setObjectName("foo") (假设foo是你构造的对象的名字)
这个我也知道,但是我想问的是不派生子类,能不能做到?
因为这个在其他语言里是很容易的事呀,无论是delphi,c++都很简单
难道就是java这么麻烦吗?
c++下面你如何实现的?
我用的是BCB,在C++下我是这么实现的
if (Button1->Name=="button1") {...};
在Delphi下是这样写的
if Button1.name="button1" then
begin
...
end
可以在java下呢?
IMO,你说的BCB和Delphi下的Button->Name或Button.name是他们封装好的method,我感觉和
java.awt.Button.getLabel()差不多。
我就是问java下有没有类似的封装?可以直接得到name的,是name不是label或text
是的,BCB和Delphi下的类都有这个方法,可以直接取得对象名。
Java下,我找不到
另外老兄早上似乎起的很早呢。