![]() |
|
| #1 (permalink) | |||
|
Neuer Benutzer
Byte
Registriert seit: 10.01.2010
Beiträge: 15
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hallo Leute,
wollte mich mal an das berühmte Galgenmännchen rannschmeißen, funktioniert auch halbwegs, aber dennoch hat sich ein Fehler eingeschlichen den ich nicht finde !! Es sollte bei einem Fehler ein Image geladen werden mit einer Nummer 0-4 (0 ist der Hügel, 1 ist der Mast etc. ) Auch das funktioniert, aber wenn jemand was falsches eingibt und danach wieder was richtiges, verschwindet das Bild von meinem Panel. Macht man danach wieder einen Fehler kommt zwar das "richtige" Fehlerbild, aber beim nächsten Mal richtig raten verschwindet es schon wieder.... Ich hoffe ihr findet daran etwas, was darauf hinweisen könnte warum das bild verschwindet.
|
||
|
|
|
| #2 (permalink) | |||
|
Stammbenutzer
CD-R 80
Registriert seit: 07.01.2007
Beiträge: 9.104
Abgegebene Danke: 0
Erhielt 260 Danke für 252 Beiträge
|
Auf einer Component "getGraphics" aufrufen ist fast immer falsch. Für diesen Fall könnte man das Zeichnen der Bilder ganz grob so machen:
Etwas pauschal, als "Daumenregel": ALLES, was gezeichnet werden soll, muss bei jedem Aufruf von paintComponent neu gezeichnet werden. Man darf NUR in der paintComponent (und NUR in das dort übergebene "Graphics") zeichnen. |
||
|
|
|
| #3 (permalink) | |
|
Neuer Benutzer
Byte
Themenstarter
Registriert seit: 10.01.2010
Beiträge: 15
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
vielen Dank einmal für die schnelle Antwort,
müsste ich dann in der teste Methode ein Objekt bilden mit der Klasse GalgenPanel und diese dann meinem "normalen" Panel zuweisen ? und nach einem Fehler die Methode .paintComponent(null); aufrufen ? Muss gestehen, dass mir der Zusammenhang noch nicht ganz klar ist. Ich muss ja der paintComponent Methode ein Grafikobjekt mitschicken oder . Grüße MArtin |
|
|
|
| #4 (permalink) | |||||
|
Stammbenutzer
CD-R 80
Registriert seit: 07.01.2007
Beiträge: 9.104
Abgegebene Danke: 0
Erhielt 260 Danke für 252 Beiträge
|
Dieses GalgenPanel würde dort hinkommen, wo im Moment in der Klasse "Fenster" (wie auch immer die aussieht) das "bild"-Panel liegt. Ungefähr sowas wie
Dann müssen in der main-Klasse, dort wo jetzt die Bilder geladen werden, diese Bilder noch ans GalgenPanel übergeben werden (die sind dann der "images[]"-Array in der GalgenPanel-Klasse). Dazu könnte es in der GalgenPanel eine Methode geben wie Code:
public void setzeBilder(Image bilder[])
{
this.images = bilder;
}
Das könnte man ggf. alles noch anders (und schöner) strukturieren und so... das wichtigste ist eben, dass alles, was gezeichnet wird, von der paintComponent aus gezeichnet wird. |
||||
|
|
|
|
| Lesezeichen |
Latex Maths & Physics Editor ...
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Hilfe bei Galgenmännchen | Student aus Dortmund | Spiele- und Multimedia-Programmierung | 4 | 05.04.2005 08:08 |