文章目录
事件
public interface IEvent {
void setEventListener(IEventListener arg);
boolean rain();
boolean snow();
}
事件监听器
public interface IEventListener {
void doEvent(IEvent arg);
}
事件源
public class RainEvent implements IEvent {
private IEventListener ml;
private boolean rain;
@Override
public void setEventListener(IEventListener arg) {
ml = arg;
}
@Override
public boolean rain() {
return rain;
}
@Override
public boolean snow() {
return false;
}
public void eventHappened() {
rain = true;
ml.doEvent(this);
}
}
事件源
public class SnowEvent implements IEvent {
private IEventListener ml;
boolean rain;
boolean snow;
@Override
public void setEventListener(IEventListener arg) {
ml = arg;
}
@Override
public boolean rain() {
return rain;
}
@Override
public boolean snow() {
re