# Icon einfügen klappt nicht



## Garfield83 (12. Jan 2008)

Hallo Leute, ich habe ein Problem,
Ich weis nicht, wie man Grafiken in ein Programm einbindet...
Also ich habe eine Datei mit dem Namen piko.gif im selben Verzeichnis wie meine MAIN methode:
Hier ist dann die GUI file... der button erscheint zwar, aber die gif file erscheint nicht.
Wäre für jegliche Hilfe dankbar.

```
package Kartenspiel;

import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class KopfenGUI extends JFrame{
	private String name;
	private JTextField text;
	private JLabel textmessage;
	private ImageIcon bild;
	private JButton knopf;
	
	public KopfenGUI(String name){
		this.setSize(350,350);
		this.setTitle(name);
		
		Container con = this.getContentPane();
		this.text = new JTextField(30);
		text.setEditable(true);
		this.textmessage = new JLabel("Welche Farbe hat diese Karte");
		con.add(textmessage);
		con.setLayout(new FlowLayout());
		con.add(text);
		this.bild = new ImageIcon("piko.gif");
		this.knopf = new JButton();
		knopf.setIcon(bild);
		con.add(knopf);
		
		
		
		
		this.setVisible(true);
		
	}
	

}
```


----------



## xerberuz (12. Jan 2008)

```
this.bild = new ImageIcon(super.getClass().getResource("/Kartenspiel/piko.gif"));
```

Der Pfad: /Package/Bild


----------



## SlaterB (12. Jan 2008)

wieso verzichtest du eigentlich auf die einzigen noch fehlenden Zeilen zu einem vollständigen Programm:

public static void main(String[] args) {
		new KopfenGUI("a");
	}
---------------

so, bei mir läuft das,
wo hast du denn deine Datei? sie darf nicht im package Kartenspiel liegen,
auch nicht in einem speziellen bin-Verzeichnis oder so

prüfe mit folgenden Befehen, wo genau die Datei sein muss, und ob sie im Moment da ist:

File f = new File("piko.gif");
		System.out.println(f.getAbsolutePath());
		System.out.println(f.exists());
		System.out.println(f.length());


----------



## Guest (12. Jan 2008)

Cool, 
vielen Dank

und die main hab ich natürlich, aber halt in einer anderen klassen  ... aber das mim icon klappt jetzt.


----------

