按名称操纵组件?

时间:2013-04-28 17:29:46

标签: java swing textfield

例如,我有2个文本字段(txt1txt2)和两个按钮(btn1btn2)。 如果按下txt1,我想构建一个在btn1中设置“hello”的方法,如果按下txt2,则在btn2中设置为“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)方法?

1 个答案:

答案 0 :(得分:0)

使用ActionListener。动作列表器用于按下按钮或某个对象的任何时间(最常用于按钮)。 ActionPerformed方法包含在ActionListener类中。

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

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

希望这有帮助!