0

echo 3 で、新しい画面の特定のテキスト フィールドにフォーカスを設定する際に問題が発生しました。この問題は、ユーザーが単純なクリックではなく、前の画面の参照ボタンにマウスを置いたときに発生します。

これは次のようになります。

public void display screen {
    build window
    if window isnt null{
        build screen
        if screen.textfield isnt null{
            Thread t {
                thread sleep 10000
                screen.textfield.setFocus
            }

        }

    }

}

上記の疑似では、ユーザー ユーザーが画面上の参照ボタンを 10 秒未満押したままにすると、フォーカスが設定されます。この場合、残りのスレッド時間が経過するまでフォーカスは設定されません。時間がかかりすぎるため、これは良くありません。ユーザーがキーを長時間保持する可能性があるため、待機遅延を短くしても、フォーカスが設定されることは保証されません。

複数のスレッドを起動し、タイマーを使用してフォーカスを打ち込もうとしましたが、うまくいきませんでした...ユーザーが許可していないにもかかわらず、全体が構築されているように見えるため、コードが内部でどのように構築されているかについて何か不足していますか?ボタンを離します。

その場合、リリース時にそれを行う方法はありますか?

ありがとうございました

4

1 に答える 1

0

解決策を見つけました。問題はIE6の使用にありました。ビルドする順番がIE7+とは違うと思います。

于 2010-12-07T14:45:08.797 に答える