Hallo,
wir sollen für die Schule ein eigenes Spiel programmieren und haben uns für ein Memory entschieden. Das Spielfeld mit den JButtons funktioniert soweit , jetzt sollen erstmal noch die Bilder auf diese Buttons, bevor wir den Rest gar machen... Wir haben zwei Bilder für den Anfang (also sowohl einmal png-Format und einmal jpg, weil wir dachten des macht vielleicht einen Unterschied und es geht deswegen nicht ) in den Ordner, wo das Projekt ist (Entwicklungsumgebung: eclipse, Ordner src, Klassen sind im defaultpackage im gleichen Ordner). Die Bilder werden in eclipse in dem Ordner allerdings nicht angezeigt ???:L
Beim Ausführen, zeigt er in der Zeile wo das Bild aufgerufen wird, einen Fehler an......
Quellcode: SPIELBRETT
Quellcode: KARTE
und Quellcode: TEST (wovon wir des ganze aufrufen im Moment)
Die Klasse KARTE sollte eigentlich direkt das Bild zurückgeben (Image oder ImageIcon ist egal), deswegen auch die vielen "unnötigen" Variablen, weil wir schon ziemlich viel probiert haben.... Das war jetzt noch die Variante wo zumindest unser JFrame sich geöffnet hat. Mit dem Quellcode unten im Konstruktor von KARTE gings dann irgendwie gar nicht. ???:L
Schon mal danke im Voraus für die Hilfe.
Liebe Grüße
wir sollen für die Schule ein eigenes Spiel programmieren und haben uns für ein Memory entschieden. Das Spielfeld mit den JButtons funktioniert soweit , jetzt sollen erstmal noch die Bilder auf diese Buttons, bevor wir den Rest gar machen... Wir haben zwei Bilder für den Anfang (also sowohl einmal png-Format und einmal jpg, weil wir dachten des macht vielleicht einen Unterschied und es geht deswegen nicht ) in den Ordner, wo das Projekt ist (Entwicklungsumgebung: eclipse, Ordner src, Klassen sind im defaultpackage im gleichen Ordner). Die Bilder werden in eclipse in dem Ordner allerdings nicht angezeigt ???:L
Beim Ausführen, zeigt er in der Zeile wo das Bild aufgerufen wird, einen Fehler an......
Quellcode: SPIELBRETT
Java:
public class SPIELBRETT extends JFrame {
JPanel p;
KARTE [] karten;
JButton [] feld;
public SPIELBRETT (KARTE [] k) {
super("Memory");
p = new JPanel ();
add (p);
setSize (1300,600);
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
setResizable (false);
p.setLayout (new GridLayout (4, 6));
KARTE [] karten = new KARTE [24];
k = karten;
feld = new JButton [24];
for (int i = 0; i<24; i++)
{
feld [i] = new JButton ();
p.add (feld[i]);
}
setVisible (true);
zeichnen ();
}
public void zeichnen ()
{
for (int i = 0 ; i <24; i++){
// hier Fehlermeldung
feld [i].setIcon(new ImageIcon (karten[i].getDatei()));
}
}
Quellcode: KARTE
Java:
public class KARTE {
private String vdatei;
private String rdatei;
private Image vo;
private Image hi;
private boolean aufgedeckt;
private boolean imSpiel;
private ImageIcon vorne;
private ImageIcon hinten;
private int nummer;
public KARTE (String vorderseite, String rückseite){
aufgedeckt = false;
imSpiel = true;
vdatei = vorderseite;
rdatei = rückseite;
}
public String getDatei() {
if (aufgedeckt = true ){
return vdatei;
}
else {
return rdatei;
}
}
und Quellcode: TEST (wovon wir des ganze aufrufen im Moment)
Java:
public class TEST {
public static void main(String[] args) {
// TODO Auto-generated method stub
KARTE [] k = new KARTE [24];
k [0] = new KARTE ("Kreis.png","Stern.png" );
//hier auch Fehlermeldung
SPIELBRETT s = new SPIELBRETT(k);
}
}
Die Klasse KARTE sollte eigentlich direkt das Bild zurückgeben (Image oder ImageIcon ist egal), deswegen auch die vielen "unnötigen" Variablen, weil wir schon ziemlich viel probiert haben.... Das war jetzt noch die Variante wo zumindest unser JFrame sich geöffnet hat. Mit dem Quellcode unten im Konstruktor von KARTE gings dann irgendwie gar nicht. ???:L
Java:
vorne = new ImageIcon (getClass().getResource(vorderseite));
hinten = new ImageIcon (getClass().getResource(rückseite));
Schon mal danke im Voraus für die Hilfe.
Liebe Grüße