比如在一个线程中接收数据,如果接收到符合的数据,将事件抛出到主程序中执行。

解决方案 »

  1.   

    这是我的一个例子,你可以看一下
    public class MyEvent extends EventObject {
        private boolean flag = false;
        public MyEvent(Object source,boolean check){
            super(source);
            flag = check;
        }    public void setFlag(boolean flag){
            this.flag = flag;
        }    public boolean getFlag(){
            return this.flag;
        }
    }
      

  2.   

    //自定义的事件监听器
    public interface MyEventListener extends EventListener
    {
        public void Succeed(MyEvent event);
    }//在定时器执行时根据OPERATION的不同执行情况FIRE不同FLAG的EVENT
    private class RemindTask extends TimerTask{
            public void run() {
                if(Operation()){
                    fireEventReceived(true);
                }
                else{
                    fireEventReceived(false);
                }
            }
        }protected void fireEventReceived(boolean flag) {
            Object[] listeners = listenerList.getListenerList();
            MyEvent event = new MyEvent(this, flag);
            for (int i = listeners.length - 2; i >= 0; i -= 2) {
                if (listeners[i] == MyEventListener.class) {
                  ( (MyEventListener) listeners[i +1]).Succeed(event);
                }
            }
        }
      

  3.   

    使用时你需要实现MyEventListener接口,并实现里面的SUCCEED方法,建议你先看书再看代码.
      

  4.   

    对于不符合要求的数据,在代码中直接写上抛出异常:throw YourException("不符合要求");YourException 是你自己根据需要继承一些异常的类(包括异常基类).比如:在对数据库操作,你可以继承SQLException 生成,当然自己写也行.
      

  5.   

    所谓“事件”,在Java中是通过接口实现的。