??????Java?????????????Java??????????????????÷??????????????????????????????????е????????????????????????ɡ?

???????MS-Windows??X Window System??????????????????????????????????????????????????“???”??????????Java?????????????????????????????????????????????????????????????????????????У?

????Java???????????????????????????????似??????????????????????y???????????????????????

???????磬???????????????????????????????????????????????

public interface InterestingEvent{
// ???????????淽???????????????
// ?????з?????????????????
public void interestingEvent ();
}

??????????????????????y???????κζ??????????????????κ?????????????????C++????????Motif???????С?????????????????????????????????C????????????????????

???????????????????????????InterestingEvent????????????????????interestingEvent()??????

public class EventNotifier{
private InterestingEvent ie;
private boolean somethingHappened;

public EventNotifier (InterestingEvent event){
// ?????????????????á?
ie = event;

// ????????????????
somethingHappened = false;
}

//...

public void doWork (){
// ???????????ν???
if (somethingHappened){
// ??????y?????????????????????
ie.interestingEvent ();
}
//...
}

// ...
}

???????????У??????somethingHappenedν??????????????????????????????£?????????????????interestingEvent()????????

???????????????????????????InterestingEvent?????????????????????????????

<SPAN style="FONT-SIZE: 18px"><STRONG>public class CallMe implements InterestingEvent{
private EventNotifier en;

public CallMe (){
// ?????????????????????????????????
en = new EventNotifier (this);
}

// ??????????????????
public void interestingEvent (){
// ???????????????????????
// ????Щ???? ...
}

//...
}
</STRONG></SPAN>