システム イベント キューを介して独自のテスト イベント キューをプッシュしています。そして、TestEQueue では、super.dispatchEvent を 1 回呼び出して、dispatchEvent メソッドをオーバーロードしました。
TestEQueue mytestqueue = new TestEQueue();
Toolkit.getDefaultToolkit().getSystemEventQueue().push(TestEQueue);
しかし、何らかの理由で、新しい TestQueue でのディスパッチが AccessControlException で失敗します。TestEQueue を使用せずにメイン プログラムで同じイベントが正常にディスパッチされる場合。
両方のキューが同じスレッド グループで実行されるため、これはどのように可能になるのでしょうか? この問題をデバッグするにはどうすればよいですか? これは非常に大規模なテスト コードベースの一部であるため、機能コードをコピーすることはできません。これはセキュリティマネージャーに関連していますか?