JMenuBar und die Paint() Methode

BabyMitSchnully

Erfahrenes Mitglied
Hi Leute,

folgendes Problem.

Ich habe mir ein JFrame gebastelt. Layout ist null. Dann habe ich eine JMenuBar eingefügt mit meinem entsprechenden Menu. Funktioniert ganz gut und ist auch alles vorhanden.

Doch sobald ich die paintmethode von dem JFrame überschreibe, verliere ich mein Menu, kann aber zeichenen.

Wie kann ich dieses Problem beheben? Habe es schon mit der Updatemethode ausprobiert. Damit geht es nicht.

Gruß
 
Hi !
Ist auch logisch ! Die paint Methode malt dein Fenster, überscheibst du sie, wird das Fenster (bzw. der Inhalt) nicht mehr gezeichnet.

Erbe von dein Zeichenbrett zum Besipiel von JPanel und füge es deinem JFrame hinzu.

Am besten überschreibst du dann die Methode paintComponent() anstatt paint(), dann sollte es klappen !

Gruss,
Krösi
 
YES. Geil. Danke. Bist der Größte :suspekt:

Es funktioniert. Eigentlich ja auch logisch. Worin besteht der Unterschied zwischen paint() und paintComponent()
 
Hi !

Der Unterschied ist folgender : wenn du auf deine selbst erstellte Komponente ( dein Zeichenbereich) einen Button packen willst, wird er durch paintComponent nicht übermalt.

Kannst das am besten ausprobieren in dem du deinem Zeichenbereich mal noch einen Button oder ähnliches hinzufügst und die paintComponent-Methode in paint umbenennst.


Gruss,

Krösi
 
Zurück