Fehler und Korrekturen zum Buch "Java-Komponenten"

  • S. 29, zweitletzter grauer Kasten mit Codebeispielen:
    gc.setContent(new C()); //Syntaxfehler
    Korrektur:
    gc.setContent(new C());
    (Jan Übernickel, 11. März 2013)
  • S. 31, zweitletzter grauer Kasten mit Codebeispielen:
    class MyException<T> extends Exception {} //Snytaxfehler
    Korrektur:
    class MyException<T> extends Exception {} //Syntaxfehler
    (Thorsten Diehl, 10. September 2013)
  • S. 81 (in Listing 4.3):
    Deklaration der Methode invoke in Klasse MyInvocationHandler:
    Ergänzung:

    throws Throwable
    (Rainer Oechsle, 18. April 2013)
  • S. 82 (in Listing 4.3) und S. 86 (in Listing 4.5), jeweils in catch(Throwable t):
    return null;
    Verbesserung:

    throw t;
    Erläuterung:
    Es ist schöner, eine geworfene Ausnahme nicht zu "verschlucken", sondern nach der Protokollierung diese Ausnahme an den Aufrufer zurückzugeben.
    (Rainer Oechsle, 18. April 2013)
  • S. 103, 5. Zeile:
    werden
    Korrektur:

    worden
    (Jochen Asal, 14. März 2013)
  • S. 105, erster Absatz, drittletzte Zeile:
    dass ein etwas länger dauernde Aktion
    Korrektur:
    dass eine etwas länger dauernde Aktion
    (Stephan Kamphausen, 29. Dezember 2013)
  • S. 105, letzte Zeile:
    Objekt an- und ihrer Stop-Methode wieder abmelden
    Korrektur:
    Objekt an- und in ihrer Stop-Methode wieder abmelden
    (Stephan Kamphausen, 29. Dezember 2013)
  • S. 113, erster Spiegelpunkt:
    eine
    Korrektur:

    ein
    (Jochen Asal, 14. März 2013)
  • S. 119, in Bild 6.6:
    HelloService- bzw. HelloClient-Komponente
    Korrektur:

    CounterService- bzw. CounterClient-Komponente
    (Frank Thesen, 2. November 2013)
  • S. 126, 12. Zeile von unten:
    vorgesehene
    Korrektur:

    vorgesehenen
    (Jochen Asal, 14. März 2013)
  • S. 128, 9. Zeile:
    die eine Komponenten nutzen kann
    Korrektur:
    die eine Komponente nutzen kann
    (Stephan Kamphausen, 29. Dezember 2013)
  • S. 131, 2. Absatz, 12. Zeile:
    Dieser ist zwar eher schwach
    Korrektur:
    Dieser ist allerdings eher schwach
    (Stephan Kamphausen, 29. Dezember 2013)
  • S. 132, 2. Absatz, viertletzte Zeile:
    Standardeingabe eins Prozesses
    Korrektur:
    Standardeingabe eines Prozesses
    (Stephan Kamphausen, 29. Dezember 2013)
  • S. 136, 7. Zeile:
    eine
    Referenztyp
    Korrektur:

    ein Referenztyp
    (Jochen Asal, 14. März 2013)
  • S. 136, 1. Absatz, zweitletzte Zeile:
    Objekte
    Referenzen hält
    Korrektur:

    Objekt Referenzen hält
    (Stephan Kamphausen, 29. Dezember 2013)
  • S. 137, 8./9. Zeile:
    Quellenobjekt
    Korrektur:

    Quellobjekt
    (Stephan Kamphausen, 29. Dezember 2013)
  • S. 142, 6. Zeile:
    Eine
    Korrektur:

    Ein
    (Jochen Asal, 14. März 2013)
  • S. 151, Listing 9.5:
    vor der drittletzten Zeile fehlt } (Ende des ersten if)
    Korrektur:

    Zeile mit } einfügen
    (Thorsten Diehl, 10. September 2013)
  • S. 158, innerhalb von Listing 9.7, Methode stop:
    erst Aufruf von stopClient, danach von removeServiceListener
    Korrektur:

    Reihenfolge tauschen (d.h. zuerst Aufruf von removeServiceListener, danach von stopClient), da es sonst passieren könnte, dass Thread nach dem Beenden erneut gestartet wird
    (Frank Thesen, 17. Januar 2014)
  • S. 158, innerhalb von Listing 9.7, Methode stopClient:
    private void stopClient(boolean uncoditionally)
    Korrektur:

    private void stopClient(boolean unconditionally)
    entsprechende Anpassung bei der Nutzung dieses Parameters im ersten if
    (Jochen Asal, 14. März 2013)
  • S. 187, nach Listing 11.1:
    Ergänzung:
    Es könnte erwähnt werden, dass die Klasse Counter nach MVC eine kombinierte Model-View-Klasse ist.
    (Thorsten Diehl, 10. September 2013)
  • S. 188, nach Listing 11.2:
    wer MVC kennt, sieht, dass es sich bei MainClass1 um eine kombinierte View-Controller Klasse handelt
    Korrektur:
    wer MVC kennt, sieht, dass MainClass1 u.a. den Controller darstellt
    (Thorsten Diehl, 10. September 2013)
  • S. 188, 2. Absatz:
    Das Tag <applet> muss zwingend die Attribute class, width und height haben.
    Korrektur:

    Das Tag <applet> muss zwingend die Attribute code, width und height haben.
    (Frank Thesen, 29. November 2013)
  • S. 189, 1. Zeile:
    Im
    Korrektur:

    In
    (Jochen Asal, 14. März 2013)
  • S. 198, 2. Zeile:
    das durch HTML beschreiben wird
    Korrektur:

    das durch HTML beschrieben wird
    (Frank Thesen, 29. November 2013)
  • S. 239, letzter Satz zu E3:
    SessioContext
    Korrektur:

    SessionContext
    (Thorsten Diehl, 10. September 2013)
  • S. 261, nach Listing 15.1:
    Ferner existiert ein zweite Klasse
    Korrektur:

    Ferner existiert eine zweite Klasse
    (Stephan Kamphausen, 29. Dezember 2013)
  • S. 267, Abschnitt 15.5, 1. Absatz, 5. Zeile:
    durch das Vorhandenseins
    Korrektur:

    durch das Vorhandensein
    (Stephan Kamphausen, 29. Dezember 2013)
  • S. 294, Abschnitt 16.9.1, letzter Satz:
    Die Entwicklungsumgebung für Android erzeugt aus der AIDL-Datei automatisch Code in Form einer Klasse mit demselben Namen und in demselben Package wie die AIDL-Schnittstelle, in unserem Fall also die Klasse Counter in dem in Listing 16.8 angegebenen Package.
    Korrektur:

    Die Entwicklungsumgebung für Android erzeugt aus der AIDL-Datei automatisch Code in Form einer Schnittstelle mit demselben Namen und in demselben Package wie die AIDL-Schnittstelle, in unserem Fall also die Schnittstelle Counter in dem in Listing 16.8 angegebenen Package.
    (Rainer Oechsle, 12. Mai 2013)
  • S. 294, Abschnitt 16.9.2, erster Satz:
    Zur Implementierung einer AIDL-Schnittstelle muss man eine Klasse aus der inneren Klasse Stub der automatisch erzeugten Klasse ableiten (in unserem Fall also aus Counter.Stub).
    Korrektur:
    Zur Implementierung einer AIDL-Schnittstelle muss man eine Klasse aus der inneren Klasse Stub der automatisch erzeugten Schnittstelle ableiten (in unserem Fall also aus Counter.Stub).
    (Rainer Oechsle, 12. Mai 2013)
  • S. 301, dritter Absatz, zweiter Satz:
    Wie zuvor für Counter wird zur Callback-Schnittstelle automatisch eine Java-Klasse namens Callback erzeugt.
    Korrektur:
    Wie zuvor für Counter wird zur AIDL-Callback-Schnittstelle automatisch eine Java-Callback-Schnittstelle erzeugt.
    (Rainer Oechsle, 12. Mai 2013)
Rainer Oechsle,  1. April 2015