Grafikfenster friert ein

Status
Nicht offen für weitere Antworten.

xquadrat

Mitglied
Ich habe 2 Klassen.

eine Klasse ist für die Grafik verantwortlich, die andere für die Logik.
Beide Klassen verständigen sich untereinander.
Jedoch habe ich das Problem, dass so lange die Logik Klasse Funktionen abarbeitet, das Grafikfenster eingefrohren ist und somit keine Mausevents ausgelöst werden können.
Durch einen Logikfehler stürzt das Programm irgendwann ab und das Fenster zeigt den letzten Stand, vor dem Absturz der Logik an.

Wie kann ich die Logikklasse so anhalten, dass sich die Grafik aufbaut, und ich an der selben Stelle der Logik fortsetzen kann.
 

xquadrat

Mitglied
ok habe dein Beispiel gelesen, habe aber Porbleme dies in meinem (sehr umfangreichen) Projekt zu integrieren.

dies ist die Logikklasse, welcher dieser Funktionen muss denn dann von außen angehalten werden und vor allem von wo?

Code:
package game;

import java.io.*;
import java.lang.*;
import java.util.Random;
import game.*;
import maedn.SpielMenu;
import java.util.List;

public class SpielAblauf {
  private Random zufall = new Random();
  private int[] wuerfelStatistik = new int[18];
  private int wuerfelStatistikZaehler = 0,
              ziehe = 10000;
  Spielfeld spielplan;
  SpielMenu spielmenu;
   
  String ausgabeText = "nix",
         name;
  public static final char  blau=  'b';
  public static final char  rot=   'r';
  public static final char  ygelb= 'y';
  public static final char  gruen= 'g';
 // public boolean gewürfelt= false;
  private char spieler = gruen;
  private boolean wuerfelStatus = false,
                  wuerfelAngeklikt = false,
                  gewonnen = false,
                  isComputer = true,
                  weiterSpielen = false,
                  ziehenMoeglich[] = new boolean[4];
  private int gewaehltesFeld = 10000,
              startPos,
              erster = 0;
  private int[] Stein = new int[4];
  private int[] globaleSteinPos = new int[4];
  Spieler spielerBlau  = new Spieler('b', "Bernd",  true, true, 0);
  Spieler spielerRot   = new Spieler('r', "Ronja",  true, true, 10);
  Spieler spielerYgelb = new Spieler('y', "Yvonne", true, true, 20);
  Spieler spielerGruen = new Spieler('g', "Gerd",   true, true, 30);

  public SpielAblauf()
  {
  }

  public SpielAblauf(Spielfeld spielplan)
  {
    this.spielplan = spielplan;
  }

  public SpielAblauf(Spielfeld spielplan, String bName, boolean bAktiv, boolean bComp,
                                          String rName, boolean rAktiv, boolean rComp,
                                          String yName, boolean yAktiv, boolean yComp,
                                          String gName, boolean gAktiv, boolean gComp) {
    this.spielplan = spielplan;
    spielerBlau. neueBelegung(bName, bAktiv, bComp);
    spielerRot.  neueBelegung(rName, rAktiv, rComp);
    spielerYgelb.neueBelegung(yName, yAktiv, yComp);
    spielerGruen.neueBelegung(gName, gAktiv, gComp);
    if (spielerBlau .isAktiv() == true) spielplan.setStein(0);
    if (spielerRot  .isAktiv() == true) spielplan.setStein(1);
    if (spielerYgelb.isAktiv() == true) spielplan.setStein(2);
    if (spielerGruen.isAktiv() == true) spielplan.setStein(3);
   
// Ablauf des Spiels
    do {
      do {
        switch (spieler) {
          case blau:  spieler = rot;
            break;
          case rot:   spieler = ygelb;
            break;
          case ygelb: spieler = gruen;
            break;
          case gruen: spieler = blau;
            break;
        }
        System.out.println(spieler);
        if (spieler == blau  && spielerBlau.isAktiv()  == true) gewonnen = SpielZug();
        if (spieler == rot   && spielerRot.isAktiv()   == true) gewonnen = SpielZug();
        if (spieler == ygelb && spielerYgelb.isAktiv() == true) gewonnen = SpielZug();
        if (spieler == gruen && spielerGruen.isAktiv() == true) gewonnen = SpielZug();
      }
      while (gewonnen == false);
// Gewonnen !!!

// Statistik
// lade Statistik
    //if (isComputer == false) mensch = mensch +1;
    //else computer = computer +1;
// speichere Statistik

// Mitteilung
      erster = erster + 1;
      if (spieler == blau)  name = spielerBlau.getName();
      if (spieler == rot)   name = spielerRot.getName();
      if (spieler == ygelb) name = spielerYgelb.getName();
      if (spieler == gruen) name = spielerGruen.getName();
      if (erster == 1) {
        if (isComputer == true) ausgabeText = name + " hat gewonnen.";
        else ausgabeText = "Herzlichen Glückwunsch " + name +
            ". Du hast gewonnen!!!";
      }
      else {
        if (isComputer == true) ausgabeText = name + " ist " + erster +
            ". geworden.";
        else ausgabeText = "Herzlichen Glückwunsch " + name + ". Du bist " + erster +
            ". geworden.";
      }
      ausgeben();

// Weiterspielen?
      ausgabeText = "Soll das Spiel fortgesetzt werden?";
      ausgeben();
      // weiterSpielen = ;
      // isAktiv verändern
    }
    while (weiterSpielen == true);
  }

  public boolean getWuerfelStatus () {
    return wuerfelStatus;
  }

  public void transFeld (int pos) { // set
    gewaehltesFeld = pos;
    System.out.println("angeklicktes Feld: "+gewaehltesFeld);
  }

  public void hatGewuerfelt() {
    wuerfelAngeklikt = true;
  }

  private void ausgeben() {
    spielplan.setMsg(ausgabeText);
  }

  private void setStein(int nr, int pos) {
    Stein[nr] = pos;
  }

  private int getStein(int nr) {
    return Stein[nr];
  }

  private int getStartposition() {
      return startPos;
   }

  private int getGlobaleSteinPos(int nr) {
    return globaleSteinPos[nr];
  }

  private void steinWahlMensch() {
    int[] globPosZiehbSteine = new int[4];
    int[] globPosEigeneSteine = new int[4];

    for (int i = 0; i < 4; i++) {
      if (ziehenMoeglich[i] = true) globPosZiehbSteine[i] =
      globPosEigeneSteine[i] = globaleSteinPos[i];
    }
    boolean nochmal = true;
    do {
      boolean eigene = false;
      for (int i = 0; i < 4; i++) {
        if (globPosZiehbSteine[i] == gewaehltesFeld) ziehe = i;
        if (globPosEigeneSteine[i] == gewaehltesFeld) eigene = true;
      }
      if (ziehe < 0 || ziehe > 4) {
        if (eigene = true) ausgabeText = "Bitte wähle einen anderen Stein.";
        else ausgabeText = "Bitte wähle einen eigenen Stein.";
        ausgeben();
      }
      else nochmal = false;
    }
    while (nochmal = true);
  }

  private boolean dreiMalWuerfeln() {
    boolean dreiMal = false,
            feld43 = false,
            feld42 = false,
            feld41 = false;
    int imHof = 0,
        hilf;
    for (int i=0; i<4; i++) {
      hilf = getStein(i);
      if (hilf >= 100) imHof = imHof +1;
      if (hilf == 43) feld43 = true;
      if (hilf == 42) feld42 = true;
      if (hilf == 41) feld41 = true;
    }
    if (imHof == 4)
      dreiMal = true;
    if (feld43 == true) {
      if (imHof == 3) dreiMal = true;
      else {
        if (feld42 == true) {
          if (imHof == 2) dreiMal = true;
          else {
            if (feld41 == true) {
              if (imHof == 1) dreiMal = true;
            }
          }
        }
      }
    }
    return dreiMal;
  }

    /**
     * würfelt eine Zahl zwischen 1 und 6 und gibt sie zurück
     */
  private int wuerfeln() {
// setzte die Wuerfelgrafik anklikbar
    wuerfelStatus = true;
    boolean geheWeiter = false;
    do 
    {
      System.out.println("Bitte würfeln");
      wuerfelAngeklikt = spielplan.getWürfelKlick();
      System.out.println("Würfel wurde Angeklickt: "+wuerfelAngeklikt);
      if (wuerfelAngeklikt == true)
      {
        geheWeiter = true;
        System.out.println("Gehe weiter: " +geheWeiter);
      }
       break;
    } while (geheWeiter == false);
// wenn der Wuerfel angeklikt wurde
// deaktiviere Wuerfelgrafik anklikbar
    wuerfelStatus = false;
    wuerfelAngeklikt = false;
// neu wuerfeln
    int neuerWurf,
        nul = 0,
        eins = 0,
        zwei = 0,
        drei = 0,
        vier = 0,
        fuenf = 0,
        sechs = 0;
    neuerWurf = zufall.nextInt(6) + 1;
// Ausgleich des Erwartungswertes
    for (int i=0;i<18;i++) {
      switch (wuerfelStatistik[i]) {
        case 1:  eins  = eins  +1; break;
        case 2:  zwei  = zwei  +1; break;
        case 3:  drei  = drei  +1; break;
        case 4:  vier  = vier  +1; break;
        case 5:  fuenf = fuenf +1; break;
        case 6:  sechs = sechs +1; break;
        default:  nul  = nul  +1; break;
      }
    }
    if (nul == 0) {
      if (eins  == 0) neuerWurf = 1;
      if (zwei  == 0) neuerWurf = 2;
      if (drei  == 0) neuerWurf = 3;
      if (vier  == 0) neuerWurf = 4;
      if (fuenf == 0) neuerWurf = 5;
      if (sechs == 0) neuerWurf = 6;
    }
    wuerfelStatistikZaehler = wuerfelStatistikZaehler +1;
    if (wuerfelStatistikZaehler > 17) wuerfelStatistikZaehler = wuerfelStatistikZaehler -18;
    wuerfelStatistik[wuerfelStatistikZaehler] = neuerWurf;
// aktuallisieren der Wuerfelgrafik
    spielplan.refreshWürfel(neuerWurf);
    return neuerWurf;
  }

  private boolean kannSchlagen(int nr, int augenZahl) {
    boolean schlagen = false;
    int pos,
        hilf,
        hilf2;
    hilf = getStein(nr);
    hilf2 = getStartposition();
    if (hilf < (40 + augenZahl)) {
      pos = hilf + hilf2 + augenZahl;
      if (pos >= 40) pos = pos - 40;
      if (spielplan.elementAt(pos) != 'n') schlagen = true;
      if (spielplan.elementAt(pos) != spieler) schlagen = true;
    }
    return schlagen;
  }

  private boolean kannZiehen(int nr, int augenZahl) {
    boolean ziehen = true;
    int hilf = getStein(nr);
// im Spiel oder Haus
    if (hilf < 100) {
      if (hilf + augenZahl >= 44)
        ziehen = false;
      else {
// letztes Hausfeld
        for (int i = 0; i < 4; i++) {
// eigener Stein
          if ((hilf + augenZahl) == getStein(i)) ziehen = false;
        }
      }
    }
// im Hof
    else {
// Würfel != 6
      if (augenZahl < 6)
        ziehen = false;
      else {
// Startfeld besetzt
        for (int i = 0; i < 4; i++) {
          if (getStein(i) == 0) ziehen = false;
        }
      }
    }
   return ziehen;
  }

  private void SteinSchlagen(char geschlageneFarbe, int geschlagenePosGlob){

      int steinNr = 10000,
          freiesHofFeld = 10000;
      boolean[] feldFrei = new boolean[4];
      spielplan.setElementAt('n', geschlagenePosGlob);
      for (int i = 0; i < 4; i++) {
        feldFrei[i] = true;
        if (geschlageneFarbe == blau) {
          if (spielerBlau.getGlobaleSteinPos(i) == geschlagenePosGlob) steinNr = i;
          if (spielerBlau.getStein(i) >= 100) feldFrei[spielerBlau.getStein(i) - 100] = false;
        }
        if (geschlageneFarbe == rot) {
          if (spielerRot.getGlobaleSteinPos(i) == geschlagenePosGlob) steinNr = i;
          if (spielerRot.getStein(i) >= 100) feldFrei[spielerRot.getStein(i) - 100] = false;
        }
        if (geschlageneFarbe == ygelb) {
          if (spielerYgelb.getGlobaleSteinPos(i) == geschlagenePosGlob) steinNr = i;
          if (spielerYgelb.getStein(i) >= 100) feldFrei[spielerYgelb.getStein(i) - 100] = false;
        }
        if (geschlageneFarbe == gruen) {
          if (spielerGruen.getGlobaleSteinPos(i) == geschlagenePosGlob) steinNr = i;
          if (spielerGruen.getStein(i) >= 100) feldFrei[spielerGruen.getStein(i) - 100] = false;
        }
      }
      for (int i=0; i<4; i++) {
        if (feldFrei[i] = true) freiesHofFeld = i;
      }
      if (geschlageneFarbe == blau) {
        spielerBlau.setStein(steinNr, 100 + freiesHofFeld);
        freiesHofFeld = freiesHofFeld + 1100;
      }
      if (geschlageneFarbe == rot) {
        spielerRot.setStein(steinNr, 100 + freiesHofFeld);
        freiesHofFeld = freiesHofFeld + 2100;
      }
      if (geschlageneFarbe == ygelb) {
        spielerYgelb.setStein(steinNr, 100 + freiesHofFeld);
        freiesHofFeld = freiesHofFeld + 3100;
      }
      if (geschlageneFarbe == gruen) {
        spielerGruen.setStein(steinNr, 100 + freiesHofFeld);
        freiesHofFeld = freiesHofFeld + 4100;
      }
//      spielplan.setzeStein(geschlageneFarbe, geschlagenePosGlob, freiesHofFeld);

  }

  private void datenAbgleich() {
    for (int i = 0; i < 4; i++) {
      if (spieler == blau) spielerBlau.setStein(i, Stein[i]);
      if (spieler == rot) spielerRot.setStein(i, Stein[i]);
      if (spieler == ygelb) spielerYgelb.setStein(i, Stein[i]);
      if (spieler == gruen) spielerGruen.setStein(i, Stein[i]);
    }
  }

  private boolean SpielZug () {
    char geschlageneFarbe;
    int geschlagenePosGlob,
        anzWuerfeln,
        augenZahl,
        pos[] = new int[4];
    boolean kannFigurBewegen,
            steinImHof,
            steinAufStart,
            gewonnen;
    Wuerfel wuerfel;

    do {
// Daten für diesen Spielzug einlesen
      for (int i = 0; i<4; i++) {
        if (spieler == blau) {
          Stein[i] = spielerBlau.getStein(i);
          globaleSteinPos[i] = spielerBlau.getGlobaleSteinPos(i);
          isComputer = spielerBlau.isComputer();
          startPos = spielerBlau.getStartposition();
        }
        if (spieler == rot) {
          Stein[i] = spielerRot.getStein(i);
          globaleSteinPos[i] = spielerRot.getGlobaleSteinPos(i);
          isComputer = spielerRot.isComputer();
          startPos = spielerRot.getStartposition();
        }
        if (spieler == ygelb) {
          Stein[i] = spielerYgelb.getStein(i);
          globaleSteinPos[i] = spielerYgelb.getGlobaleSteinPos(i);
          isComputer = spielerYgelb.isComputer();
          startPos = spielerYgelb.getStartposition();
        }
        if (spieler == gruen) {
          Stein[i] = spielerGruen.getStein(i);
          globaleSteinPos[i] = spielerGruen.getGlobaleSteinPos(i);
          isComputer = spielerGruen.isComputer();
          startPos = spielerGruen.getStartposition();
        }
      }
      System.out.println("SpielAblauf zeile 305 "+spieler+" "+Stein[0]+" "+Stein[1]+" "+Stein[2]+" "+Stein[3]+" "+startPos);
// Variablen initialisieren
      geschlageneFarbe = 'n';
      anzWuerfeln = 1;
      augenZahl = 0;
      ziehe = 10000;
      geschlagenePosGlob = 10000;
      kannFigurBewegen = false;
      steinImHof = false;
      steinAufStart = false;
      gewonnen = false;
      for (int i=0; i<4; i++) {
        ziehenMoeglich[i] = false;
        pos[i] = 10000;
      }
      wuerfel = new Wuerfel();

// 3 mal wuerfeln?
      if (dreiMalWuerfeln() == true) anzWuerfeln = 3;
// System.out.println("anzWuerfeln = " + anzWuerfeln);
// Würfeln
      do {
        anzWuerfeln = anzWuerfeln -1;
        augenZahl = wuerfeln();
        if (augenZahl == 6) anzWuerfeln = 0;
        System.out.println("SpielAblauf zeile340 Augenzahl = " + augenZahl);
      }
      while (anzWuerfeln > 0);

// Welche Steine koennen ziehen?
      for (int i=0; i<4; i++) {
        if (kannZiehen(i, augenZahl) == true) {
          ziehenMoeglich[i] = true;
          kannFigurBewegen = true;
        }
        if (getStein(i) >= 100) steinImHof = true;

// Zugfaehige Figur auf Startfeld?
        if (getStein(i) == getStartposition()) {
          steinAufStart = true;
          if (ziehenMoeglich[i] == true) ziehe = i;
        }
      }
      System.out.println("SpielAblauf zeile 358 kannFigurBewegen " + kannFigurBewegen);
      System.out.println("SpielAblauf zeile 359 steinAufStart " + steinAufStart);

// Zug moeglich
      if (kannFigurBewegen == true) {
        //System.out.println("zeile 330 "+ spieler + Stein[0] + Stein[1] + Stein[2] + Stein[3]);

      // Computer
        if (isComputer == true) {

      // 6 gewuerfelt, Startfeld frei und min einen Stein im Hof?
          if (steinAufStart == false && steinImHof == true) {
            if (augenZahl == 6) {
              for (int i = 0; i < 4; i++) {
                if (getStein(i) > 99) ziehe = i;
              }
              System.out.println("SpielAblauf zeile 374 ziehe stein "+ziehe);
            }
          }
          if (ziehe == 10000) {

      // sortieren
      System.out.println("SpielAblauf zeile 380 sortieren anfangen");
            for (int j = 0; j < 3; j++) {
              for (int i = 0; i < 3; i++) {
                if (getStein(i) > getStein(i + 1)) {
                  int hilfe = getStein(i);
                  setStein(i, getStein(i + 1));
                  setStein(i + 1, hilfe);
                }
              }
            }
            System.out.println("SpielAblauf zeile 390 sortiert "+getStein(0)+" "+getStein(1)+" "+getStein(2)+" "+getStein(3));

      // schlagen möglich
            for (int i = 0; i < 4; i++) {
              if (kannSchlagen(i, augenZahl) == true) ziehe = i;
            }
            if (ziehe == 10000) {

      // ziehen
              for (int i = 0; i < 4; i++) {
                if (kannZiehen(i, augenZahl)) ziehe = i;
              }
            }
          }
        }

      // Mensch
        else {
          if (ziehe == 10000) {

      // 6 gewürfelt, Startfeld frei und min einen Stein im Hof?
            if (augenZahl == 6 && steinAufStart == false && steinImHof == true) {
              for (int i = 0; i < 4; i++) {
                pos[i] = 10000;
                if (getStein(i) >= 100) pos[i] = getStein(i);
              }
            }

      // schlagen moeglich?
            if (augenZahl != 6 || steinAufStart == true || steinImHof == false) {
              for (int i = 0; i < 4; i++) {
                if (kannSchlagen(i, augenZahl) == true) {
                  geschlageneFarbe = spieler;
                  geschlagenePosGlob = getGlobaleSteinPos(i);
                }
              }
            }
          }
          else {
            for (int i = 0; i < 4; i++) {
              pos[i] = 10000;
            }
            pos[ziehe] = getStein(ziehe);
          }

      // Globale Position ermitteln  ziehenMoeglich
          for (int i = 0; i < 4; i++) {
            if (pos[i] != 10000) pos[i] = getGlobaleSteinPos(i);
          }

      // Zugwahl abfragen
         // ziehe = spielplan.ZugWahl(spieler, pos[0], pos[1], pos [2], pos[3]);
          ziehe = 1; // ersatzweise fuer die zeile darueber
        }

      // Zug ausfuehren
      // schlagen?
        if (kannSchlagen(ziehe, augenZahl) == true) {
          geschlagenePosGlob = getGlobaleSteinPos(ziehe) + augenZahl;
          if (geschlagenePosGlob >= 40) geschlagenePosGlob = geschlagenePosGlob - 40;
          geschlageneFarbe = spielplan.elementAt(geschlagenePosGlob);
        }

      // geschlagene Figur entfernen
        if (geschlageneFarbe != 'n') {
          SteinSchlagen(geschlageneFarbe, geschlagenePosGlob);
        }

      // Figur ziehen
        int zugBeginn = getGlobaleSteinPos(ziehe),
            zugEnde = getGlobaleSteinPos(ziehe) + augenZahl;
        if (getStein(ziehe) < 100) {
          if (getStein(ziehe) < 40) spielplan.setElementAt('n', zugBeginn);
          setStein(ziehe, getStein(ziehe) + augenZahl);
          if (getStein(ziehe) + augenZahl < 40) {
            if (zugEnde >= 40) zugEnde = zugEnde -40;
            spielplan.setElementAt(spieler, zugEnde);
          }
          else {
            if (spieler == blau)  zugEnde = 1000;
            if (spieler == rot)   zugEnde = 2000;
            if (spieler == ygelb) zugEnde = 3000;
            if (spieler == gruen) zugEnde = 4000;
            zugEnde = zugEnde + getStein(ziehe) + augenZahl;
          }
        }
        // Figur ins Spiel bringen
        else {
          System.out.println("zeile 440 Figur ins Spiel bringen " + ziehe);
          setStein(ziehe, getStartposition());
          zugEnde = getStartposition();
          spielplan.setElementAt(spieler, zugEnde);
        }
        System.out.println("Spieler Farbe :" +spieler+ " ; Anfangsposition: "+zugBeginn+" ; Endposition: "+zugEnde);
        spielplan.setzeStein(spieler, zugBeginn, zugEnde);

        datenAbgleich();
      }

// kann nicht ziehen
      else {
        String aName = "Keiner";
        if (isComputer == true) {
          if (spieler == blau)  aName = spielerBlau .getName();
          if (spieler == rot)   aName = spielerRot  .getName();
          if (spieler == ygelb) aName = spielerYgelb.getName();
          if (spieler == gruen) aName = spielerGruen.getName();
          ausgabeText = aName + " kann keine Figur bewegen.";
        }
        else {
          ausgabeText = "Du kannst keine Figur bewegen.";
        }
        // ausgeben();
      }


/* Grafik aufrufen
      int[] blau  = new int[4],
            rot   = new int[4],
            ygelb = new int[4],
            gruen = new int[4];
      for (int i = 0; i<4;i++){
        blau[i]  = spielerBlau. getGlobaleSteinPos(i);
        rot[i]   = spielerRot.  getGlobaleSteinPos(i);
        ygelb[i] = spielerYgelb.getGlobaleSteinPos(i);
        gruen[i] = spielerGruen.getGlobaleSteinPos(i);
      }
*/
      System.out.println("zeile 469"+ spieler);/*+" "+blau[0]+" "+  blau[1]+" "+  blau[2]+" "+  blau[3]+" "+
                         rot[0]+" "+   rot[1]+" "+   rot[2]+" "+   rot[3]+" "+
                         ygelb[0]+" "+ ygelb[1]+" "+ ygelb[2]+" "+ ygelb[3]+" "+
                         gruen[0]+" "+ gruen[1]+" "+ gruen[2]+" "+ gruen[3]);
      System.out.println (augenZahl);*/

//      spielplan.setzeStein(char, int, int);
      //boolean wahr = false;
      //wahr = ((augenZahl == 6) && (gewonnen == false));
      //System.out.println("zeile 487 "+ wahr);
    }

// Wuerfelt dieser Spieler nochmal?
    while ((augenZahl == 6) && (gewonnen == false));
    //System.out.println("kommt aus dieser schleife raus");
    return gewonnen;
  }
}

die Funktion in der Grafikklasse die die Felder überzeichnet:

Code:
....

 public void refreshWürfel (int augen)
  {
    switch(augen)
    {
        case 0: würfel.setIcon(new ImageIcon("würfeln.gif"));
          break;
        case 1: würfel.setIcon(new ImageIcon("eins.gif"));
          break;
        case 2: würfel.setIcon(new ImageIcon("zwei.gif"));
          break;
        case 3: würfel.setIcon(new ImageIcon("drei.gif"));
          break;
        case 4: würfel.setIcon(new ImageIcon("vier.gif"));
          break;
        case 5: würfel.setIcon(new ImageIcon("fünf.gif"));
          break;
        case 6: würfel.setIcon(new ImageIcon("sechs.gif"));
          break;
    }
  }
....

 public boolean setzeStein(char farbe,int altePos,int neuePos)
 {
   boolean ready=false;
   /**
   * schreibt Steingrafiken auf ihre neue Position
   */
   switch (farbe)
  {
    case 'b': switch(neuePos)
              {
                case 0: blaustart.setIcon(new ImageIcon("steinblau.gif"));
                 break;
                case 10: rotstart.setIcon(new ImageIcon("steinblau.gif"));
                  break;
                case 20: gelbstart.setIcon(new ImageIcon("steinblau.gif"));
                  break;
                case 30: grünstart.setIcon(new ImageIcon("steinblau.gif"));
                  break;

etc...
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben