2012-04-13 7 views
-1

Javaコードを実行するとデバッガで動作しますが、動作しません。 Eclipseのデバッガでは、私のjframesを表示します。Javaコードを実行するとデバッガで動作しますが、実行されません

私はそれを実行すると、私のフレームはまったく表示されません。

私は自分のEventListenerとそのすべてを台無しにしていると思います。

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; 
      } 

     } 
    } 

} 

}

何か問題が表示されない場合、あなたはそれがめちゃくちゃにされるかもしれない理由を考えることができますか?

答えて

0

まず、同じモードで実行していることを再度確認します。アプレットモード用に作成されたプログラムは、アプリケーションと同じではありません。

それがうまくいかない場合:

アプレットとして動作している場合:あなたはinit関数を持っている チェック。

アプリケーションとして実行している場合: 実行コンフィギュレーションでメインクラスを定義していることを確認します。その場合は、main()メソッドを実行していることを確認してください。

関連する問題