JPanel und JComponent - Zeichnen

CerebrosuS

Grünschnabel
Guten Tag erstmal,

ich werde einfach mal anfangen und mein Programm erklären, indessen mein Problem sich befindet.

Ich programmiere ein Spiel Mahjongg in Java mit Swing.
Jeder Stein des in Mahjongg auftretenden Spiels ist ein Objekt, welches von JComponent abgeleitet ist. Nun besitze ich ein JPanel, welches in das Hauptfenster integriert ist und auf dessen der Hintergrund + die Steinobjekte gezichnet werden sollen. So weit so gut.

Der Hintergrund wird dabei gezeichnet - mit drawImage.
Die Steine werden als JComponent abgeleitete Objekte zu einem auf JPanel existeirenden Layout gepackt.

In den Steinobjekten überschrieb ich nun die paintComponent Methode und leitete diese auch ans "super" weiter.

Das Problem:
Die Steine können ganz einfach mit JPanel.add(Stein); hinzugefügt werden. Allerdings sobald ein Übergeordnetes Element von JPanel und damit auch JPanel selber neu gezeichnet wird, ändern die SteinObjekte Ihre Größe. Selbst wenn ich die Größe der Objekte im Konstruktor des Objektes selber festgelegt habe. In den von JComponent abgeleitet Steinobjekten selber, ist ncihts inkludiert, lediglich ein Bild - was den Stein darstellt - wird mit drawImage in der paintComponent-Methode gezeichnet. Die Größe ist nur stabil, wenn ich sie in der paintComponent-Methode festlege - was logisch sein sollte -.

Meine Frage also, ... wieso ändert sich die Größe des Objektes und wie kann ich das ändern oder umgehen.

Ich hoffe auf Hilfe und ebenfalls dadrauf, dass ich es vernünftig erklären konnte.


Mit freundlichen Grüßen CerebrosuS
 
Zurück