ImageIcon auf JButton legen! wie?

jackisback

Erfahrenes Mitglied
Hallo,
Ich möchte ein gif Bild auf einen Button legen.
Entweder stimmt was mit meinem Code nicht oder das Bild liegt im falschen Verzeichnis.

Code:
package swing;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;;

public class Fenster extends JFrame{
	
	public static void main(String[] args) {
		
		Fenster f = new Fenster();
		
		ImageIcon icon = new ImageIcon("neu.gif");
		
		System.out.println(icon.getIconHeight());
		
                                JButton b1 = new JButton(icon);
		
		f.getContentPane().add(b1);
		f.setSize(500, 500);
		f.setVisible(true);
		
	}

}

Die Methode System.out.println(icon.getIconHeight()); liefert -1 zurück
das neu.gif liegt im selben Ordner wie die Class Datei.

Was ist hier falsch?
 
Der Fehler liegt glaube ich daran, dass dein Bild noch nicht geladen ist. Hatte mal ein ähnliches Problem. Gelöst habe ich es mit dem "ImageObserver".
 
Ich bitte um Entschuldigung. Ich meinte den "MediaTracker". Mit diesem kannst du z.b sicherstellen, dass dein Mediaobjekt auch geladen wird bevor es weiter geht im Code.
 
Code:
MediaTracker tracker = new MediaTracker(new Panel());
tracker.addImage(img, 1);
tracker.waitForAll();

Mit diesem Code wird sichergestellt, dass erst dein Bild geladen wird, bevor es weiter geht.
 
Zurück