# gif in Eclipse importieren und exportieren



## checkie99 (20. Apr 2011)

Hallo,

ich habe ein Problem. Ich möchte ein animiertes GIF als Button nutzen. Das einbauen des JButtons ist kein Problem. Nur wie importiere ich GIF richtig in Eclipse, damit ich es auch als runnable JAR exportieren kann? Wenn ich das Bild einfach in den src Ordner kopiere, kann ich es zwar mit src/picture.gif in meine JAVA Datei einbauen, jedoch klappt das exportieren nicht richtig. Das Bild ist einfach nie dabei und der Button wird nicht angezeigt.


----------



## AmunRa (20. Apr 2011)

Du legst dir am besten eine Ordner res an und dort speicherst du das Bild, res sol auf der selben ebene wie src sein.

Dann solte er es auch für das jar fiinden. wenn er es dennoch nicht findet, dann klicke bei export nicht auf runnable Jar sondern auf jar . Dort kannst du dann selbst betimmen was in das Jar archiv soll oder nicht, du musst, aber dann in einem dialog später angeben welche Klasse die main Methode hat.


----------



## Volvagia (20. Apr 2011)

Du kannst auch mit einen "Packer" (ich verwende 7zip) später die Datei in die Jar legen. Verwende ich, da ich Abhängigkeiten zwischen Projekten habe, die beim als Jar exportieren nicht beachtet werden, und eben bei Runnable Jar keine Ressourcen reingepackt werden.


----------



## Chekie99 (20. Apr 2011)

Erstmal danke für eure Antworten. Es geht leider immer noch net.

Ich habe einen neuen neuen Ordner res auf der Ebene von src erstellt und dort die gif rein. Als runnable JAR funktioniert zwar die Datei, das Bild fehlt aber.  Als reine JAR Datei sagt er mir, dass die Mainclass nicht geladen werden konnte. 
Ich habe auch versucht, das Bild mit Winzip rein zu kopieren, aber auch das klappt nicht wirklich. 

Falls es hilft, mein Code:


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

public class test 
{
	
	public static void main(String[] args) 
	{
		for(int a = 0; a < 10; ++a)
		{
			int x = 10 + a * 100;
			int y = 10 + a * 15;
			ImageIcon icon = new ImageIcon("res/bild.gif");
			JFrame frame = new JFrame("neues Fenster");
			frame.setLocation(x, y);
			frame.setSize(100, 150);
			frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			frame.setVisible(true);
			JButton button = new JButton(icon);
			frame.add(button);
		}
	
				
	}

}
```


----------



## AmunRa (20. Apr 2011)

Wenn du es als Jar File machst musst du zwei mal auf net klicken und dann ganz unten die main Klasse selbst angeben.


----------



## Final_Striker (20. Apr 2011)

Chekie99 hat gesagt.:


> Als runnable JAR funktioniert zwar die Datei, das Bild fehlt aber.



Du musst die Bilder mit getRessource laden.

Schau dir das mal an: http://www.java-forum.org/allgemeine-java-themen/101274-jar-file-datei-gefunden-jar.html


----------



## checkie99 (20. Apr 2011)

Final_Striker hat gesagt.:


> Du musst die Bilder mit getRessource laden.
> 
> Schau dir das mal an: http://www.java-forum.org/allgemeine-java-themen/101274-jar-file-datei-gefunden-jar.html



Daran könnte es wohl liegen. Könntest du mir bitte für den obigen Code ein Beispiel davon zeigen. In dem anderen Thread blicke ich irgendwie nicht so ganz durch. Habe mich bisher auch noch nicht an so kompliziertere Klassen gewagt bzw. JAR Dateien zu erstellen, möchte die Datei eigentlich nur einem Kollegen schicken.


----------



## Volvagia (20. Apr 2011)

```
new ImageIcon(Object.class.getResource("/res/bild.gif"));
```


----------



## checkie99 (20. Apr 2011)

Da kommt bei mir leider

Exception in thread "main" java.lang.NullPointerException
	at javax.swing.ImageIcon.<init>(Unknown Source)
	at test.main(test.java:19)

Hier ein Screenshot vom Eclipse Fenster mit Ordnerstruktur, etc.


----------



## checkie99 (20. Apr 2011)

Sry, der Link sollte gehen:

http://bilderhost.com/PhotoSharing/t7237_code.jpg


----------



## checkie99 (20. Apr 2011)

Bilderhost.com - Kostenlos Bilder hochladen - Bilderhoster Foto Upload Pictures-code.jpg


----------



## Volvagia (20. Apr 2011)

Wenn es nicht gefunden wird, gibt es null zurück.
Wenn du direkt aus Eclipse laden willst, muss res im bin-Ordner liegen. *Kopiere* ihm aber hinein, da Eclipse manmal den bin auch ausräumt, z. B. bei Classpath-Änderungen.
Du kannst übrigens auch Bilder direkt im Post hochladen.


----------



## Crian (21. Apr 2011)

Falls das Problem in Ecplise liegt, kann es auch helfen, das Projekt zu refreshen und / oder den Ordner in Eclipse anzulegen (Rechtsklick auf Projektname > New > Folder) und dann auch über Eclipse das Bild dorthin zu kopieren (Rechtsklick auf das neu angelegte Verzeichnis > Import > File System).


----------

