0

自分のポップアップメニューからスイングアクションを呼び出したいだけです。しかし、セキュリティマネージャが存在するため、直接呼び出さずにこのアクションを呼び出すためのソリューションが必要です。たとえば、呼び出しスタックにクラスがある場合、sun.swing.SwingUtilities2をロードできないため、テキストコンポーネントの貼り付けアクションは失敗します。

イベントをイベントスレッドにエンキューする方法はありますか?JComponent.dispatchEventは、イベント自体を処理するため、ジョブを実行しません。

4

1 に答える 1

0

簡単な答え: アプレットに署名しないとできません。

長い答え: パーミッションがなくても、あらゆる種類の興味深いメッセージをキューに入れることができます。あなたの例、貼り付け、または長い形式で: クライアントが以前にコピーしたものにアクセスすることは、クライアントが知って承認する必要があるアクションです。クリップボードを監視し、すべてを「貼り付け」、ネットワーク経由でリモート サーバーに送信するルージュ アプレットについて考えてみてください。たとえば、PIN。

解決策は、アプレットに署名して、クライアントに「このアプレットが悪ではないことは (ここにあなたの名前) の責任がある」ことを伝えることです。ユーザーがあなたを信じているかどうかを尋ねます。はいの場合、セキュリティ マネージャーはあなたをブロックしなくなります。そうでない場合、ユーザーはあなたを信用していません。なぜ JVM はそうしなければならないのでしょうか?

http://java.sun.com/developer/onlineTraining/Programming/JDCBook/signed.htmlを参照してください。

于 2009-01-13T12:35:14.397 に答える