Wenn ein großes Projekt mit 5000 Java-Dateien von Java ME zu Java SE Portierung, habe ich versucht, javax.microedition.event.Event mit meiner eigenen Klasse (gleiche für EventManager
und EventListener
) zu ersetzen:Wie ersetzt man javax.microedition.event.Event bei der Portierung von Java ME auf SE?
public class Event extends java.util.EventObject {
protected String mName;
protected Object mValue;
protected String mMessage;
protected Object mInfo;
public Event(Object source) {
super(source);
}
public Event(String event, String value, String message, Object info) {
super(null); // throws IllegalArgumentException
mName = event;
mValue = value;
mMessage = message;
mInfo = info;
}
Leider ist die Basisklasse java.util.EventObject
mag nicht die source
ist null
.
Ich habe gesucht und konnte keinen geeigneten Java-Quellcode finden.
Meine Frage ist:
Wie public Event(String event, String value, String message, Object info)
hier einen Ersatz für den Konstruktor schreiben? Wie setze ich die source
, wo bekomme ich es?
Warum/wie können Ihre neuen Ereignisse ohne ein Quellobjekt angezeigt werden? Wird das den Code nicht brechen, der die Ereignisse verwendet? – JimmyB
Warum ist es ein Problem? Ich konstruiere meine benutzerdefinierten 'Event'-Objekte und' post() 'dann in meinen benutzerdefinierten' EventManager' (der eine 'Map' von' Set' von 'EventListener'-Objekten unterhält - und ruft für sie die' handleEvent'-Methode auf). –