就是要得到这个对象的锁
要看具体代码,应该是Synchornize语句块的问题

解决方案 »

  1.   

    class DocManager {
        ........
        public void method1() {
              Dialog dlg = new Dialog(frm, false);
              try {
                  wait();
              } catch (IllegalMonitorStateException e) {
                   //exception thrown
              }
         }
         .......
    }
      

  2.   

    wait();//应该是没有对象去调用她,如果是静态就可以用类名调用
    (希望不会误导)
      

  3.   

    wait();会释放对象的锁,所以调用wait的条件就是一定要拥有对象的锁,否则会抛异常。
    所以wait()应该放在synchronize段里
      

  4.   

    to classjava: 
    我不太明白,
    这里的wait是调用Object#wait
    wait不是static method.
      

  5.   

    to launch401:
    synchronized(this){..} 可以了。