-1

GUIインターフェースを理解するために、プロジェクトにいくつかの追加機能を追加しようとしています。私はJavaでアラームパネルを構築していますが、アクティブ化のさまざまな状態、つまり、武装から武装へ、武装解除から武装解除へとテキストを変更したかっただけです。

この方法を使用してみThread.sleepましたが、テキストが画面に表示されるまでの時間が遅れるだけです。
私が調べる必要のある方向を教えてください。以下は私が取り組んでいるセクションですが、必要に応じて完全なコードを利用できます。

public void actionPerformed(ActionEvent e){
    else if(e.getSource() == disarm){
    dPanel.setBackground(Color.GREEN);
    adPanel.setBackground(Color.GREEN);
    screen.setText("Disarming");
    try {
      Thread.sleep(5000);
    } catch (InterruptedException e1) {                                         
       e1.printStackTrace();
       }
 screen.setText("Disarmed");
4

3 に答える 3

2

Swingでは使用しないでください。ブロックされますThread.sleep EDT代わりにSwingタイマーを使用してください。

于 2013-02-23T21:13:32.467 に答える
0

問題は、Thread.sleep()を使用すると、GUIスレッドをブロックしているため、決してブロックしないことです。タイマーを使用します。

于 2013-02-23T21:14:06.257 に答える
-1

あなたが何をしようとしているのかわかりません。タイマーが必要な場合は、次のいずれかを使用してください。 スイングタイマーの例

たぶん、あなたはそれをより理解しやすくするために他の方法であなたの問題を説明しようとすることができます。

于 2013-02-23T21:20:37.250 に答える