Ein Bild zu einem JPanel innerhalb eines JFrame zeichnen

8

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

    
MattTheHack 31.01.2012, 16:26
quelle

3 Antworten

11

Ich möchte einen einfacheren Weg vorschlagen,

%Vor%

Yayy! Jetzt ist dein Bild eine Schwungkomponente! Fügen Sie es einem Rahmen oder Panel oder etwas, wie Sie es normalerweise tun, hinzu! Wahrscheinlich brauchen Sie auch eine Neulackierung, wie

%Vor%     
COD3BOY 31.01.2012, 16:39
quelle
7

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.

    
npinti 31.01.2012 16:37
quelle
6

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:

%Vor%     
tenorsax 31.01.2012 17:07
quelle

Tags und Links