Java:
public class AppletController extends Applet implements KeyListener{
private Dog dogArray [];
private String dogNames;
private String[]splitBefehle = new String[10];
private String[] befehle = new String [4];
public void init(){
addKeyListener(this);
}
public void start(){
setSize(1000, 800);
System.out.println("Bitte geben Sie Hunde ein:");
dogArray = new Dog[3];
for (int i = 0; i < dogArray.length; i++){
dogNames = In.readString();
dogArray[i] = new Dog (dogNames, 0, 0);
}
doCommand();
}
public void paint(Graphics g){
for(int i = 0; i < dogArray.length; i++)
dogArray[i].paintDog(g);
}
public void doCommand(){
Dog currentDog;
for(int k = 0; k < befehle.length; k++){
System.out.println("Bitte geben Sie einen beliebigen Hund und Befehl ein");
befehle[k] = In.readString();
splitBefehle = befehle[k].split(" ");
for (int h = 0; h < splitBefehle.length; h++){
for(int t = 0; t < dogArray.length; t++){
if (dogArray[t].getName().equals(splitBefehle[h])){
currentDog = dogArray[t];
currentDogAktion(currentDog, splitBefehle);
}
}
}
}
}
public void currentDogAktion (Dog currentDog, String [] splitBefehle){
for(int h = 0; h < splitBefehle.length; h++){
if(splitBefehle[h].equals("go")){
System.out.println("Bitte geben Sie die Position des Hundes an X:");
int xPos = In.readInt();
System.out.println("Bitte geben Sie die Position des Hundes an Y:");
int yPos = In.readInt();
currentDog.go(xPos, yPos);
} else if(splitBefehle[h].equals("bark")){
currentDog.bark();
} else if(splitBefehle[h].equals("here")){
currentDog.here();
}
}
}
....
Mein Problem ist:
Das Programm funktioniert wunderbar, NUR zeichnet mein Appletviewer nur die Veränderung der Hunde an und nicht die Ausgangsposition!
Das bedeutet: Wie rufe ich vor der doCommand() Methode meine paint() methode auf?????
Zuletzt bearbeitet: