问题描述
我有一个程序,必须更改对象的状态,我想知道是否有人能够在外部创建MouseListener类或侦听器类,而该类仍然具有与该对象接口的代码,从而允许他们更改原始字段类,然后将它们换成这样:
public void changeState1()
{
this.removeMouseListener();
this.addMouseListener(HandleListener2);
}
public void changeState2()
{
this.removeMouseListener();
this.addMouseListener(HandleListener1);
}
1楼
您有2个解决方案可以访问其他班级
匿名类:
this.addMouselistener(new MouseListener {
//you have access to the class methods here.
});
在侦听器构造函数中添加对该类的引用:
public class A implements MouseListener {
public MyClass b;
public A(MyClass b) {
this.b = b;
}
}