关于JAVA swing 中,事件的问题
答案:1 悬赏:70 手机版
解决时间 2021-03-24 10:07
- 提问者网友:记得曾经
- 2021-03-23 22:51
关于JAVA swing 中,事件的问题
最佳答案
- 五星知识达人网友:逐風
- 2021-03-24 00:17
可以把JBa .addActionListener(this);这句改成其他的:
比如:JBa .addActionListener(A,B类的某个成员字段);
我的意思是,按钮就在A,B、中定义,然后在A类中(B类类似不再重复)的构造函数中new出来并注册时间监听,那么问题来了,谁来监听?建议构造函数这样写:
public A(ActionListener lst){
this.按钮=new Button()//等实例操作,把按钮的所有属性设置好后-->
this.按钮.setActionListener(lst);//把传入的参数设为监听的对象
}
新的问题就是,需要在C类中new A时,就把自己(建议把自己)实现ActionLIstener,然后传入参数就是自己(this):A a =new A(this);
大概是这样,如果要把按钮分离出来,就可以考虑直接new Jpanel()再对象.add()了!追问额。。。不好意思啊。。。我有点看不懂,成员字段是什么意思。。。你的意思是把this改成别的,就是把当前类的实例改成别的,那改成别的不需要设置静态吗?addActionListener();括号里不是应该写对象名吗?
比如:JBa .addActionListener(A,B类的某个成员字段);
我的意思是,按钮就在A,B、中定义,然后在A类中(B类类似不再重复)的构造函数中new出来并注册时间监听,那么问题来了,谁来监听?建议构造函数这样写:
public A(ActionListener lst){
this.按钮=new Button()//等实例操作,把按钮的所有属性设置好后-->
this.按钮.setActionListener(lst);//把传入的参数设为监听的对象
}
新的问题就是,需要在C类中new A时,就把自己(建议把自己)实现ActionLIstener,然后传入参数就是自己(this):A a =new A(this);
大概是这样,如果要把按钮分离出来,就可以考虑直接new Jpanel()再对象.add()了!追问额。。。不好意思啊。。。我有点看不懂,成员字段是什么意思。。。你的意思是把this改成别的,就是把当前类的实例改成别的,那改成别的不需要设置静态吗?addActionListener();括号里不是应该写对象名吗?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯