2

以下のシナリオがあり、1 か所で立ち往生しています。誰でもこれについて私を助けてもらえますか?

にデプロイされたアプレット アプリケーションがあり、 でserver1このアプレットにアクセスしていますclient1。の特定のタブをクリックするとJTabbedPane、リクエストがサーバーに送られ、ロードする必要がある特定のクラスがダウンロードされます。マウスを使用していずれかのタブをクリックすると、すべて正常に動作します。プログラムで同じことを行うと(ディスパッチMouseEventまたはsetSelectedIndex()のメソッドを使用JTabbedPane)、機能しません。

注:イベントをディスパッチする私のコードは同じドメイン上にありません。このコードはローカルにしかありません。イベントをディスパッチする方法については、以下をお読みください。

MyAgent.jarタブをクリックして特定のタブを選択する機能を含むJava エージェントを作成しました( JTabbedPane)。

Java エージェント (インスツルメンテーション エージェント) がオンclient1で、アプレットの実行中に Java エージェントをアプレットに接続すると、このエージェントがマウス クリック イベントをディスパッチします。このシナリオでは、タブが選択されますが、スローClassNotFoundExceptionされ、例外のためにこのタブにコンポーネントが読み込まれません。

同様の問題に直面した人、または試してみるべきことを知っている人は、私に知らせてください。

4

2 に答える 2

2

を使用しMouseListenerてタブ状態の変化を監視するのではなくChangeListener、選択モデルにアタッチする必要があります。

この方法では、タブがどのように変更されても問題ありません。

于 2013-06-17T04:34:29.220 に答える
1

問題は解決された。javaAgent の securityContext と、アプレットの securityContext が異なっていました。そのため、javaAgent は、アプレット コンテキストに存在するクラスをロードできませんでした。これで、コードがアプレット コンテキストでも実行されるように変更を加えました。イベントが発生すると、必要なクラスをロードできます。

于 2013-11-15T11:07:41.887 に答える