2016-04-18 4 views
1

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?

+0

Warum/wie können Ihre neuen Ereignisse ohne ein Quellobjekt angezeigt werden? Wird das den Code nicht brechen, der die Ereignisse verwendet? – JimmyB

+0

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). –

Antwort

2
public class Event extends java.util.EventObject { 

    public static final Object UNKNOWN_SOURCE = new Object(); 

    public Event(String event, String value, String message, Object info) { 
     super(UNKNOWN_SOURCE); 

     mName = event; 
     mValue = value; 
     mMessage = message; 
     mInfo = info; 
    } 
+0

Ich bin gespannt, wie Java ME damit umgeht, konnte aber keinen Quellcode für Java ME finden. Haben sie ein ähnliches "UNKNOWN_SOURCE" -Objekt? –

Verwandte Themen