dümmlicher Anzeigefehler...

Haruka

Mitglied
Hi Jungs...

ich plag mich mit einem dümmlichen Anzeigefehler rum...
und zwar hab ich 2 2D-JLabel-Arrays übereinanderliegen. Ein Array für Hintergrund-Sprites und ein Array für Vordergrund-Sprites für ein Spiel.

Beim Ausführen des Programms, wird auch alles richtig angezeigt: Beide Arrays werden per For-Schleifen als Spielfeld gezeichnet. Lässt man danach das Feld aber noch mal neu laden, "verschwinden" Sprites. Bzw.: sie werden kurz angezeigt und verschwinden dann...

Init:
Code:
    for (int y = 0; y < mybl.getSpielFeldy(); y++) {
      for (int x = 0; x < mybl.getSpielFeldx(); x++) {
        SpielFeldFG[y][x] = new JLabel();
        SpielFeldBG[y][x] = new JLabel();
        SpielFeldFG[y][x].setVisible(false);
        SpielFeldFG[y][x].setBounds((50 * x), (50 * y), 50, 50);
        SpielFeldBG[y][x].setVisible(false);
        SpielFeldBG[y][x].setBounds((50 * x), (50 * y), 50, 50);
        SpielFeldBG[y][x].setOpaque(true);
        this.add(SpielFeldFG[y][x]);
        this.add(SpielFeldBG[y][x]);
      }
    }

Anzeige:
Code:
  public void loadGamefield() {
    for (int y = 0; y < SpielFeldy; y++) {
      for (int x = 0; x < SpielFeldx; x++) {
        obj.SpielFeldBG[y][x].setIcon(map.getFieldBG(x, y));
        obj.SpielFeldBG[y][x].setVisible(true);
        obj.SpielFeldFG[y][x].setIcon(map.getFieldFG(x, y));
        obj.SpielFeldFG[y][x].setVisible(true);
      }
    }
  }

Kann mir da jemand helfen? *zu Tom guck* ^^
 
Kleine Bildchen (50*50px) die per setIcon() in die JLabels geladen werden.

Beim ersten Aufrufen der Funktion macht er das auch noch alles richtig, wie gesagt. Nur beim zweiten "verschwinden" dann komischerweise teilweise die Bildchen der oberen JLabel-Arrays. Sind aber nicht immer die selben, die verschwinden und man kann sie auch noch anfangs kurz aufblinken sehen. Danach werden sie nicht mehr angezeigt.
 
Zurück