通过名称操作组件?

问题描述:

我有,例如,2个文本字段(txt1txt2)和两个按钮(btn1btn2)。 我想要建立一个方法,如果btn1被按下,将在txt1中设置“hello”,如果按下btn2,则在txt2中设置“hello”。通过名称操作组件?

我想过做这样的事情:

txt1.setName("1"); txt2.setName("2"); 

in btn1 listener: setHello(txt1); 
in btn2 listener: setHello(txt2); 

setHello(String name){ 
(componentByName?(name)).setText("hello") 
} 

是否有componentByName(name)方法?

+0

你是指什么名字?变量名?如果对象没有名称,说它保存在数组或集合中会怎么样?如果两个名称不同的变量引用了相同的组件对象?哪个变量“名称”是重要的?我认为当真正重要的是对象***引用***时,你对变量“名称”给予太多的重视。 – 2013-04-28 18:17:24

使用ActionListener。动作列表器用于任何时候按钮或某个对象的某些东西将被按下(最常用于按钮)。 actionPerformed方法包含在ActionListener类中。

public void actionPerformed(ActionEvent e) { 
     if(e.getSource() == button1) 
      txt1.setName("1"); 
     else 
      txt2.setName("2"); 
    } 

不要忘记将ActionListener实现到您的类中,并将actionListener添加到程序中的按钮上。

希望这有助于!