你这个 refresh() 方法并没有阻塞你提到的2个比较耗时的方法,可以设置一个变量,当执行完毕,在耗时的方法里面将这个变量设置为 true ,然后在你的这个 refresh() 里面你用 while 循环判断是否为 true,当 true 跳出循环,执行下面的 this.setCursor(Cursor.getDefaultCursor()); //还原为默认状态,或者你吧 this.setCursor(Cursor.getDefaultCursor()); //还原为默认状态 放在 refreshTargetTable() 最后执行可能也可以吧

解决方案 »

  1.   

    我也做过把this.setCursor(Cursor.getDefaultCursor()); 放在refreshTargetTable()方法结整的时候执行,可是显示的时候,还是没有任何效果。我在想,是不是系统刚刚执行完this.setCursor(new Cursor(Cursor.WAIT_CURSOR));  之后,因为接着执行很耗时的方法,系统可能还没来的及刷新当前的鼠标指针,系统已处于很忙的状态(正在指行很耗时的方法),也就没机会再刷新那个鼠标指针了。