Ich entwerfe ein Programm, das zwei JPanels innerhalb eines JFrames enthält, eines für das Halten eines Bildes, das andere für das Halten von GUI-Komponenten (Suchfelder usw.). Ich frage mich, wie ich das Bild auf den ersten JPanel innerhalb des JFrame zeichnen?
Hier ist ein Beispielcode von meinem Konstruktor:
%Vor%}
%Vor%Ich habe versucht, die paintComponent-Methode von JPanel zu überschreiben, um das Bild zu malen, aber das verursacht ein Problem in meinem Konstruktor, wenn ich versuche zu schreiben:
%Vor%Da es mir nur erlauben wird, die Methode null zu übergeben, und nicht Graphics g, weiß jemand von einem Fix zu dieser Methode oder einer anderen Methode, die ich verwenden kann, um das Bild in JPanel zu zeichnen? Hilfe ist willkommen! :)
Alles Gute und danke im Voraus! Matt
Sie können das % verwenden. co_de% , um ein Bild auf dem JPanel zu platzieren, wie gezeigt hier .
Wenn Sie andererseits ein Panel mit einem Hintergrund haben möchten, können Sie sich dieses Tutorial.
Sie müssen paintComponent()
nicht manuell von einem Konstruktor aus aufrufen. Das Problem besteht darin, dass Sie für ein Graphics
-Objekt null übergeben. Überschreiben Sie stattdessen paintComponent()
, und Sie verwenden das Objekt Graphics
, das an die Methode übergeben wurde, die Sie zum Zeichnen verwenden. Sehen Sie sich dieses Tutorial an. Hier ist ein Beispiel für JPanel
mit Bild: