Bild einem Panel zuordnen

  • Themenstarter Themenstarter Dennis77
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
D

Dennis77

Gast
Hallo! Wer kann mir bitte helfen?
Ich habe eine GUI im gridlayout und habe diverse Panels erstellt für Buttons, Text, Bild...
Nun möchte ich meinem bildPanel ein Bild zuordnen. Wie mache ich das am besten?
Bei meinen Versuchen überlagert das Bild die anderen Elemente.

Geht es nicht mit dem folgenden Ansatz?
Code:
img = getToolkit().getImage("car.gif");

bildPanel = new JPanel();
bildPanel.setPreferredSize(bildGroesse);

bildPanel.add(img);

Danke!!
 
Das geht nicht weil ein Image keine GUI-Komponente ist die geaddet werden kann.

Du mußt schon die JPanel Klasse erweitern um in der repaintComponent-Methode
dein Bild selbst zeichnen:

Also:

Code:
class ImageP extends JPanel {
    public void paintComponent(Graphics G) {
        g.drawImage(image, 0, 0, image.getWidth(), image.getHeight());
   }
}
als innere Klasse der Klasse, die image als Instanzvariable besitzt.

Du könntest diese Klasse auch anonym in deiner Methode definieren
oder außerhalb deiner Klasse. Im letzten Fall muß ImageP allerdings
wissen, welches Image zu zeichnen ist und es im Konstruktor annehmen
und intern speichern
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben