2017-10-05 16 views
1

こんにちは私はJavaプログラミングの新機能です。私は変数を表示してプログラムを更新するときに大きな問題を抱えています。プログラムを停止しても停止しないで、何もできません。私のプログラムの何か私のゲームは私達がお金を持っているはずの簡単なゲームです...方法と私は毎秒私のお金を表示したい。毎秒は私のプログラムを停止していないだけで、コードは私のために重要ではありません、ここでは私のお金のコードは次のとおりです。変数を1秒ごとに更新する

 static int money = 0; 
     static int energy = 100; 
     static String energyinfo = Integer.toString(energy); 
     static String moneyinfo = Integer.toString(money); 

     private void setmoneyenergy() 
     { 
      energyinfo = Integer.toString(energy); 
      moneyinfo = Integer.toString(money); 
      jenergy.setText(energyinfo); 
      jmoney.setText(moneyinfo); 
     } 

しばらくは、ボタンに別のスレッドでそれを実行しよう

while(true) 
    { 
     setpoolenergy(); 
    } 
+0

[EDT](https://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html)でブロックしないでください。 –

答えて

-1

をのactionPerformedされます。

// in action performed 
new Runnable() { 

    @Override 
    public void run() { 
     //CODE 
    } 
.run(); 

java.utilのからタイマーTimerTaskをを使用してみてください。

private Timer timer = new Timer(); 

public void actionPerformed (Action a) { 
    timer.cancel(); 
    timer.schedule(new TimerTask() { 

     @Override 
     public void run() { 
      //UPDATE data 
     } 
    }, 1000); 
// 1000 ms = 1 second 
} 
+0

あなたの答えには、両方がコンパイルされていないコードが含まれています。コンパイルしても間違っています。いい加減にして。 – Kayaman

+0

それは実行され、そのokしかし、それはループが動作していません!感謝! – Mohammad134

+0

ありがとう!私のゲームは今停止しておらず、200msごとに更新されます! – Mohammad134

関連する問題