MudGuard: Methodenaufruf VOR Initialisierung ==> NullPointerException

Beitrag lesen

Hi,

Das Problem ist jetzt, dass einer der Konstruktoren von DefaultTableModel die überschriebene Methode getColumnCount() aufruft zu einem Zeitpunkt, zu dem die Instanzvariablen von RecordFIlterTableModel noch nicht initialisiert wurden.

D.h. die Methoden sind bereits überladen, wenn der Konstruktor der Super-Klasse abgearbeitet wird - die Instanz-Variablen aber noch nicht initialisiert.
Seltsame Vorgehensweise ...

Das die Reihenfolge so ist, hat wohl den Grund, dass man einfach noch keinen Code in einer Kindklasse ausführen kann, wenn man die Elternklasse noch nicht initialisiert hat.

Um so unverständlicher, daß die Methoden zu dem Zeitpunkt schon überladen sind ...

Aus der Dokumentation von DefaultTableModel geht übrigens hervor, dass es Klüger ist, AbstractTableModel zu erweitern.

Hab ich gemacht - schon gibt es das beschriebene Problem nicht mehr.

DefaultTableModel ist dazu nicht gedacht, auch wenn einiges getan wurde, damit es nicht ganz nach hinten los geht.

Dann hätte ein "final" vor der class stehen sollen ;-)

Genauer steht der Instanzierungsvorgang in der Java VM Spezification beschrieben.

Danke.

cu,
Andreas

--
Warum nennt sich Andreas hier MudGuard?
Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.