比如说你想改变的Button对象叫 button2
你在View类中把button2这个对象设置成成员变量 然后把myActionlistener这个类设置成成员内部类
即写在View类内部 然后当点击button1的时候 对button2.setText("")传入一个String值就可以改变button2按钮上面的内容了~
追问程序要求用MVC的架构写,我的myActionlistener是一个控制类,和View这个界面要分离的0 0
追答嗯 那这样写
class MyActionListener implements ActionListener{
//把这个类的对象添加到button1上面 构造方法传刚才
//我说的button2 然后btn.setText()就行了
JButton btn;
public MyActionListener(JButton btn){
this.btn = btn;
}
@Override
public void actionPerformed(ActionEvent e){
if(e.getSource() == button1){
btn.setText("******");
}
}
}
追问代码是这样的嘛?:MyActionListener ma=new MyActionListener(button2)
button1.add(ma);
那如果我有32个button和button1关联起来怎么办?
追答不好意思我刚才代码写错了 应该这么写
class MyActionListener implements ActionListener{
JButton btn1;
JButton btn2;
public MyActionListener(JButton btn1,JButton btn2){
this.btn1 = btn1;
this.btn2 = btn2;
}
@Override
public void actionPerformed(ActionEvent e){
if(e.getSource() == btn1){
btn2.setText("******");
}
}
}
MyActionListener ma=new MyActionListener(button1,button2)
button1.add(ma);
如果要和32个button关联的话只能new32个MyActionListener对象了 或者构造方法里传32个对象...