Hallo,
dass ich das letzte mal mit Java gearbeitet habe ist leider schon eine Weile her ... ich versuche momentan einige Bilder mittels Mediatracker in ein JScrollPane einzubinden. Allerdings werden die Bilder nicht angezeigt? Soweit ich das beurteilen kann funzt der MediaTracker aber die update-Methode wird trotz repaint() nicht aufgerufen. Ich denke es ist ein ganz banaler Fehler, der warscheinlich an irgendwelchen mangelnden Grundkentnissen liegt, aber ich komm einfach nicht drauf ... ich hoffe ihr könnte mir weiterhelfen?
Hier erstmal der Quelltext:
Anbei noch eine andere Frage. Ich möchte eigentlich möglichst alles in swing programmieren, gibt es dort noch eine "schönere" Möglichkeit Bilder zu laden?
Ich denke wirklich es liegt an den mangelnden Grundkentnissen und ist ein eigentlich total simlpes Problem .....
also schonmal danke im vorraus!!
dass ich das letzte mal mit Java gearbeitet habe ist leider schon eine Weile her ... ich versuche momentan einige Bilder mittels Mediatracker in ein JScrollPane einzubinden. Allerdings werden die Bilder nicht angezeigt? Soweit ich das beurteilen kann funzt der MediaTracker aber die update-Methode wird trotz repaint() nicht aufgerufen. Ich denke es ist ein ganz banaler Fehler, der warscheinlich an irgendwelchen mangelnden Grundkentnissen liegt, aber ich komm einfach nicht drauf ... ich hoffe ihr könnte mir weiterhelfen?
Hier erstmal der Quelltext:
Java:
//imports
import java.awt.*;
import javax.swing.*;
public class Filmstrip extends JScrollPane {
//constants
private static final long serialVersionUID = -5318539386368820665L;
//variable
private String images[] = { "test1.jpg", "test2.jpg","test3.jpg" };
private Image[] imgs = new Image[images.length];
private MediaTracker mt = null;
// private JLabel imgLabel = new JLabel();
public Filmstrip() {
super(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
//load images with MediaTracke
int i;
mt = new MediaTracker(this);
for (i = 0; i < images.length; i++) {
imgs[i] = Toolkit.getDefaultToolkit().getImage(images[i]);
mt.addImage(imgs[i], i);
}//end for
//exception handling
try {
mt.waitForAll();
} catch (InterruptedException e) {
e.printStackTrace();
}//end try/catch
if (mt.isErrorID(i)) {
System.err.println("Couldn't load image file " + images[i]);
return;
}//end if
repaint();
}//end constructor
public void update(Graphics g) {
paint(g);
}
public void paint(Graphics g){
for (int i = 0; i < imgs.length; i++) {
g.drawImage(imgs[i], 60, 60, this);
}
}
}
Anbei noch eine andere Frage. Ich möchte eigentlich möglichst alles in swing programmieren, gibt es dort noch eine "schönere" Möglichkeit Bilder zu laden?
Ich denke wirklich es liegt an den mangelnden Grundkentnissen und ist ein eigentlich total simlpes Problem .....
also schonmal danke im vorraus!!