Thorsten F.: Probleme mit Bildanzeige

Beitrag lesen

Hallo Leute,

ich eine Image Klasse:

import java.awt.*;
import java.awt.Graphics;
import java.awt.Image;

class Images
extends Canvas
{
 private static final long serialVersionUID = 1L;
 private Image img;

public Images(String imgFile)
   {
      img = getToolkit().getImage(imgFile);
      MediaTracker mt = new MediaTracker(this);

mt.addImage(img, 0);

try
      {
         //Warten, bis das Image vollständig geladen ist,
         //damit getWidth() und getHeight() funktionieren
         mt.waitForAll();
      }
      catch (InterruptedException e)
      {
         //nothing
      }
   }

public void paint(Graphics g)
   {
    super.paint(g);
    g.drawImage(img,1,1,this);
   }

public Dimension getPreferredSize()
   {
      return new Dimension(
         img.getWidth(this),
         img.getHeight(this)
      );
   }

public Dimension getMinimumSize()
   {
      return new Dimension(
         img.getWidth(this),
         img.getHeight(this)
      );
   }
}

Diese wird in einer anderen KLasse aufgerufen:

panel.getContentPane().add(new Images(finalImg), BorderLayout.SOUTH);
                panel.setVisible(true);

Funktioniert auch alles wunderbar. Wenn ich mir jetzt ein zweites Bild anzeigen lassen möchte, dann wird dieses zwar geladen und auch angezeigt, allerdings liegt dieses hinter dem alten Bild.

Habe das daran gemerkt, als ich ein größeres Bild als zweites geladen habe.

Wie kann man das denn umgehen?

Grüße,
Thorsten F.