1

フレームの不透明度を 0 から 10 (0.0,0.1,0.2..1.0) に変更して、アニメーション効果を作成しようとしています。

コンストラクターの最後でこのコードを試しましたが、不透明度の最後の値のみが生成されます。

for(float k=0;k<=10;k++)
    {
        try {
            Thread.sleep(200);
        } catch (InterruptedException ex) {
        }
        setOpacity(k/10);
    }
4

2 に答える 2

4

Swing はシングルスレッドです。を呼び出すThread.sleepと、更新がEDT妨げられUIます。代わりにスイングタイマーを使用してください。

于 2013-04-17T00:02:22.733 に答える
0

アニメーションを初期化する必要がある場合は、ブール変数を true に設定し、レンダー関数でブール変数が true かどうかを確認し、そうである場合は .1 を追加し、値が 1 に達したらブール変数を false に戻します。

于 2013-04-17T00:03:21.927 に答える