Webサービスの非同期を呼び出す小さなアプリケーションを作成しています。応答が完了したときに読み込み終了イベントを発生させて、次のフォームに移動できるようにします。
どうすれば良い方法でそれを行うことができますか?
Webサービスの非同期を呼び出す小さなアプリケーションを作成しています。応答が完了したときに読み込み終了イベントを発生させて、次のフォームに移動できるようにします。
どうすれば良い方法でそれを行うことができますか?
Javaでのイベントの発生には、次の要素が必要です
イベントクラスは、次のようにjava.util.EventObjectを拡張します。
public class MyEventClass extends java.util.EventObject {
//here's the constructor
public MyEventClass(Object source) {
super(source);
}
}
インターフェイスは次のようになります。
public interface MyEventClassListener {
public void handleMyEventClassEvent(EventObject e);
}
イベントソースは次のようになります。
public class MyEventSource {
private List _listeners = new ArrayList();
public synchronized void addEventListener(MyEventClassListener listener){
_listeners.add(listener);
}
public synchronized void removeEventListener(MyEventClassListener listener){
_listeners.remove(listener);
}
// call this method whenever you want to notify
//the event listeners of the particular event
private synchronized void fireEvent(){
MyEventClass event = new MyEventClass(this);
Iterator i = _listeners.iterator();
while(i.hasNext()){
((MyEventClassListener) i.next()).handleMyEventClassEvent(event);
}
}
}
イベントリスナーは次のようになります。
public class MyEventListener implements MyEventClassListener {
// ... code here
//implement the required method(s) of the interface
public void handleMyEventClassEvent(EventObject e) {
// handle the event any way you see fit
}
}
addEventListenerメソッドを呼び出して、MyEventListenerオブジェクトをMyEventSourceオブジェクトに登録する必要があります。
幸運を祈ります。詳細については、お気軽にお問い合わせください。
J2MEでイベントを作成するには、次のコードを試してください。
EventList eventList = (EventList)PIM.getInstance().openPIMList(PIM.EVENT_LIST, PIM.READ_WRITE);
Event event = eventList.createEvent();
...
event.addString(Event.SUMMARY, PIMItem.ATTR_NONE, summary);
...
event.commit();
詳細については、JSR75を参照してください。
インターフェイスを作成してメソッドに渡すことでこの問題を解決しました。インターフェイスはブール値フラグの値を変更し、別のメソッドを呼び出します。これにより、作業が終了し、作業を続行でき、で実行されていることがわかります。別のスレッド