Ниже приведено довольно общее решение, но я считаю его очень полезным.Он отображает указатель «занят» мыши, когда происходит вызов RPC.Вы можете адаптировать его к вашим потребностям.Я определяю класс следующим образом:
class CallWrapper<T> implements AsyncCallback<T> {
AsyncCallback<T> callback;
public CallWrapper(AsyncCallback<T> cb) {
callback = cb;
DOM.setStyleAttribute(RootPanel.getBodyElement(), "cursor", "wait");
}
public void onFailure(Throwable caught) {
DOM.setStyleAttribute(RootPanel.getBodyElement(), "cursor", "default");
callback.onFailure(caught);
}
public void onSuccess(T result) {
DOM.setStyleAttribute(RootPanel.getBodyElement(), "cursor", "default");
callback.onSuccess(result);
}
}
Затем можно обернуть каждый отдельный AsyncCallback следующим образом:
public void callService(AsyncCallback<String> callback) {
myRPC.doStuff(new CallWrapper<String>(callback));
}
Надеюсь, это поможет.