2012-04-13 8 views
-1

Das Ausführen meines Java-Codes funktioniert im Debugger, aber nicht im Lauf. Im Eclipse Debugger werden meine Jframes angezeigt.Das Ausführen meines Java-Codes funktioniert im Debugger aber nicht im Lauf

Aber wenn ich es ausführe, erscheint mein Rahmen überhaupt nicht.

Ich glaube, ich habe meinen EventListener und all das vermasselt.

private class ButtonHandler implements ActionListener{ 
    JButton button; 

    public void actionPerformed(ActionEvent event) { 
     find(event.getSource()); 

     button = buttonHolder[indexK[kCount-1]][indexJ[jCount-1]]; 

     if((button.getIcon() == red && choice1 == 1) || (button.getIcon() == green && choice1 == 0)){ 
      JOptionPane.showMessageDialog(null, "You chose the wrong color!"); 
      return; 
     } 

     if(turn ==1){ 
      if(clicks != 1){ 
       if(button.getIcon() == red){ 
        clicks++; 
        temp = button; 
       }else if (button.getIcon() == green){ 
        clicks++; 
        temp = button; 
       }else{ 
        kCount=0; 
        jCount=0; 
       } 
      }else{ 
       if((button.getIcon() == green) || (button.getIcon() == red)){ 
        //do nothing 
       }else if(temp.getIcon() == green && (grid[indexK[1]][indexJ[1]] == 2 || grid[indexK[1]][indexJ[1]] == 3 || grid[indexK[1]][indexJ[1]] == 4) && button.getIcon() != green && ((indexK[0]+1 ==indexK[1] && indexJ[0] == indexJ[1]) || (indexK[0] ==indexK[1] && indexJ[0]+1 == indexJ[1]) || (indexK[0] ==indexK[1] && indexJ[0]-1 == indexJ[1]))){ 
        temp.setIcon(null); 
        button.setIcon(green); 
        grid[indexK[1]][indexJ[1]] = 2; 

        if(indexK[0] == 0 || indexK[0]== 9){ 
         grid[indexK[0]][indexJ[0]] = 4; 
        }else{ 
         grid[indexK[0]][indexJ[0]] =3; 
        } 
        found = 2; 

       }else if(temp.getIcon() == red && (grid[indexK[1]][indexJ[1]] == 1 || grid[indexK[1]][indexJ[1]] == 3 || grid[indexK[1]][indexJ[1]] == 5) && button.getIcon() != red && ((indexK[0]+1 ==indexK[1] && indexJ[0] == indexJ[1]) || (indexK[0] ==indexK[1] && indexJ[0]+1 == indexJ[1]) || (indexK[0]-1 ==indexK[1] && indexJ[0] == indexJ[1]))){ 
        temp.setIcon(null); 
        button.setIcon(red); 
        grid[indexK[1]][indexJ[1]] = 1; 

        if(indexJ[0] == 0 || indexJ[0]== 9){ 
         grid[indexK[0]][indexJ[0]] = 5; 
        }else{ 
         grid[indexK[0]][indexJ[0]] =3; 
        } 
        found = 2; 
       } 

       clicks=0; 
       kCount=0; 
       jCount=0; 
      } 

     } 
    } 

} 

}

wenn Sie keine Probleme sehen, können Sie aus einem Grund denken, warum es werden könnte durcheinander?

Antwort

0

Überprüfen Sie zuerst, ob Sie es im selben Modus ausführen. Ein Programm, das für den Applet-Modus erstellt wurde, ist nicht dasselbe wie das Programm.

Wenn das nicht funktioniert:

Wenn als Applet ausgeführt wird: Überprüfen Sie, ob Sie eine init-Funktion haben. Wenn Sie als Anwendung ausgeführt werden: Überprüfen Sie, ob Sie in Ihrer Ausführungskonfiguration eine Hauptklasse definiert haben. Wenn Sie dies getan haben, vergewissern Sie sich, dass Sie eine main() -Methode darin ausführen.