ayou Geschrieben 1. August 2009 Geschrieben 1. August 2009 (bearbeitet) Hej leutz, ich programmiere in einer Java -GUI in Netbeans an einem Memory. Ich bekomme es leider nicht hin, dass meine Spielkarten angezeigt werden, diese befinden sich in einen angelegten Ordner. Diese möchte ich per Zufall (Array) aufrufen, damit sie auf meiner Oberfläche meines GridLayouts angezeigt werden. Bisher habe ich die Bilder per getResource gespeichert, ihnen einen Namen zugewiesen und möchte diese per Zufall aus dem Array auslesen. Ich wäre euch für eine Hilfestellung sehr dankbar. public class Memory extends javax.swing.JFrame { /** Creates new form Memory */ /* Konstruktor für Spielfeld-Objekte */ public Memory() { /* Zunächst wird im JFrame nur ein leeres Panel mit GridLayout angelegt */ /* initComponents() wird von NetBeans generiert und kann nicht geändert werden */ initComponents(); /* Die folgende Methode wird das Spielfeld füllen*/ buildSpielkarten(); } private static Memory Memory; private ImageIcon bild1 = new javax.swing.ImageIcon(getClass().getResource("/kartenbilder/bild1.png")); private Object bild2 = new javax.swing.ImageIcon(getClass().getResource("/kartenbilder/bild2.png")); private Object bild3 = new javax.swing.ImageIcon(getClass().getResource("/kartenbilder/bild3.png")); /* Einfügen der Bilder, die oben angesprochen wurden */ private String[] labels; String[] labels = {bild1, bild2, bild3, bild4, bild5, bild6, bild7, bild8}; private int labelsLength = labels.length; private String getCharacter() { // Waehlt einen Label zufaellig aus dem Array // und entfernt ihn daraus. int pos = (int) (Math.random() * 100) % labelsLength; String c = labels[pos]; // Luecke im Array schliessen: for (int i = pos + 1; i < labelsLength; i++) { labels[i - 1] = labels; } labelsLength--; return c; } public static void main(String[] args) throws Exception { Memory m = new Memory(); } ______________________________ Ich schicke auch gerne noch eine .txt wenn dies zur problemlösung nicht ausreichend sollte, jedoch denke ich, dass der fehler im obrigen Code liegt Bearbeitet 1. August 2009 von ayou Zitieren
0815FIA Geschrieben 2. August 2009 Geschrieben 2. August 2009 (bearbeitet) Ehrm... wo IST denn die Methode buildSpielkarten(), die du dort so schön im Konstruktor aufrufst (von der entzückenden Denglishen Benennung mal ganz zu schweigen)? ImageIcon, Object, Object .. hä? Entweder bin ich so müde das ich nichts mehr verstehe, oder ich weiß auch nicht :/ Bearbeitet 2. August 2009 von 0815FIA Zitieren
flashpixx Geschrieben 2. August 2009 Geschrieben 2. August 2009 Außerdem solltest Du den Konstruktor Deines Parents (JFrame) in Deinem Konstruktor aufrufen. Verwende evtl auch import, damit der Code leserlicher wird Letztendlich hast Du aber keine Frage formuliert auf die man eingehen kann Phil Zitieren
0815FIA Geschrieben 2. August 2009 Geschrieben 2. August 2009 Und noch ein Tipp: Verwende nächstes Mal bitte das BB Tag für Programmcode, damit die Einrückungen etc. erhalten bleiben, so kann man ja nichts finden und zuordnen Zitieren
ayou Geschrieben 2. August 2009 Autor Geschrieben 2. August 2009 wie man bemerkt ist dies mein erster eintrag und ich habe selber bemerkt das ich da einen teil vergessen habe. ich hätte es wirklich gern geändert, jedoch kann ich meinen beitrag nicht ändern oder löschen, obwohl ich angemeldet bin. verwirrt mich. hab gestern schon im chat gefragt, jedoch keine antwort mehr bekommen. Zitieren
flashpixx Geschrieben 2. August 2009 Geschrieben 2. August 2009 Du kannst einen Eintrag max 15min lang ändern Zitieren
0815FIA Geschrieben 2. August 2009 Geschrieben 2. August 2009 Und niemand wird dich (aufgrund eben dieser Beschränkung) hauen, wenn du einen zweiten Beitrag mit einem Nachtrag verfasst Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.