AWT - Image - MediaTracke - Problem !

NetPerformance

Erfahrenes Mitglied
Hallo

Ich habe das Problem, dass mein image nicht angezeigt wird.
Leider erhalte ich keine exception-Meldung um mein Fehler festzustellen.

Hoffe, daß einer von euch mein Fehler sieht.

Gruß
Aaron


Code:
import java.awt.*;
import java.awt.Graphics;
import java.awt.MediaTracker;
import java.awt.Toolkit;

import javax.swing.JFrame;

public class MyImage extends JFrame
{
//  java.awt.Image image = Toolkit.getDefaultToolkit().getImage("http://www.xx.de/save/avatar.jpg");
//  BufferedImage i = ImageIO.read(new BufferedInputStream(getClass().getResourceAsStream(n)));

    public MyImage()   
    {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(400,400);
        show();  
    }
   
    public void paint(Graphics g)
    {
        super.paint(g);
   
        Image image = Toolkit.getDefaultToolkit().getImage("http://www.xxx.de/save/avatar.jpg");
       
        MediaTracker tracker = new MediaTracker(this);   
        tracker.addImage(image, 0);
       
        try
        {
            tracker.waitForID(0);
            // tracker.waitForAll();
        }
        catch(InterruptedException e)
        {
             e.printStackTrace();  
        }
       
        g.drawImage(image, 0, 0, null);
    }
   
    public static void main(String[] args)
    {
        MyImage newObject = new MyImage();
    }
}
 
Zuletzt bearbeitet:
Hallo!

AWT - Image - MediaTracker

... du verwendest einen JFrame .. alle Komponenten die mit "J" beginnen gehören zu Swing. Den Bildladevorgang in die Paint Methode zu verlagern ist nicht so smart, da so das Bild bei jedem Repaint wieder neu geladen wird ...


Dies hier sollte funktionieren...

Code:
import java.awt.Graphics;
import java.awt.MediaTracker;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;

import javax.imageio.ImageIO;
import javax.swing.JFrame;

public class MyImage extends JFrame {

	private BufferedImage bImg;

	public MyImage() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setSize(400, 400);

		try {
			bImg =
				ImageIO.read(
					new URL("http://www.NetPerformance.de/save/avatar.jpg"));

			//bImg = ImageIO.read(new File("c:/Bigjtable.png").toURL());

			//Bigjtable.png

			MediaTracker tracker = new MediaTracker(this);
			tracker.addImage(bImg, 0);

			tracker.waitForAll();

		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (InterruptedException e) {
			e.printStackTrace();
		}

		show();
	}

	public void paint(Graphics g) {
		g.drawImage(bImg, 0, 0, null);
	}

	public static void main(String[] args) {
		MyImage newObject = new MyImage();
	}
}

Gruß Tom
 
Zurück