Einfachste Möglichkeit, ein Bild als JPanel-Hintergrund festzulegen

9

Wie würde ich das Backgroung-Bild zu meinem JPanel hinzufügen, ohne eine neue Klasse oder Methode zu erstellen, sondern es einfach zusammen mit den restlichen JPanel-Attributen einzufügen?

Ich versuche, den Hintergrund eines JPanels mit einem Bild zu setzen, aber jedes Beispiel, das ich finde, scheint zu empfehlen, das Panel um eine eigene Klasse zu erweitern.

Ich habe nach einer Möglichkeit gesucht, das Bild einfach hinzuzufügen, ohne eine ganze neue Klasse und innerhalb derselben Methode zu erstellen (versuche, die Dinge organisiert und einfach zu halten).

Hier ist ein Beispiel für die Methode, die mein JPanel setzt:

%Vor%     
Joshua Martin 01.10.2013, 20:52
quelle

4 Antworten

22
  

Ich versuche, den Hintergrund eines JPanels mit einem Bild zu setzen. Jedes gefundene Beispiel scheint jedoch darauf hinzuweisen, das Panel mit einer eigenen Klasse zu erweitern

Ja, Sie müssen JPanel erweitern und die Funktion paintcomponent(Graphics g) überschreiben, um dies zu tun.

%Vor%
  

Ich habe nach einer Möglichkeit gesucht, das Bild einfach hinzuzufügen, ohne eine ganze neue Klasse und innerhalb derselben Methode zu erstellen ( versucht, die Dinge organisiert und einfach zu halten ).

Sie können eine andere Komponente verwenden, mit der Sie ein Bild direkt als Symbol hinzufügen können, z. JLabel , wenn Sie möchten.

%Vor%

Aber wieder in der Klammer versucht, die Dinge organisiert und einfach zu halten !! Was bringt dich dazu zu denken, dass das Erstellen einer neuen Klasse dich in eine chaotische Welt führen wird?

    
Sage 01.10.2013 21:07
quelle
13
  

Einfachste Möglichkeit, das Bild als JPanel-Hintergrund festzulegen

Verwenden Sie kein JPanel. Verwenden Sie einfach ein JLabel mit einem Symbol, dann brauchen Sie keinen benutzerdefinierten Code.

Siehe Hintergrund-Panel für weitere Informationen sowie eine Lösung, mit der das Bild gemalt wird auf einem JPanel mit 3 verschiedenen Maloptionen:

  1. skaliert
  2. gekachelt
  3. aktuell
camickr 01.10.2013 23:59
quelle
4

Wie ich weiß, können Sie die Methode paintComponent überschreiben, die JPanel

erben soll %Vor%

Der andere Weg (ein bisschen kompliziert), um das zweite benutzerdefinierte JPanel zu erstellen und put ist als Hintergrund für Ihr Haupt

ImagePanel

%Vor%

EmptyPanel

%Vor%

IconToImage

%Vor%     
Maxim Shoustin 01.10.2013 20:59
quelle
2

Zeichnen Sie das Bild auf den Hintergrund eines JPanels, das zum Bild hinzugefügt wird. Verwenden Sie einen Layout-Manager, um normalerweise Ihre Schaltflächen und andere Komponenten zum Panel hinzuzufügen. Wenn Sie andere untergeordnete Bereiche hinzufügen, möchten Sie möglicherweise child.setOpaque (false) festlegen.

%Vor%     
javajon 05.07.2014 16:38
quelle

Tags und Links