0

メインコードに次のコードを統合しました。

import java.applet.*;
import java.awt.Graphics;
import java.net.MalformedURLException;
import java.net.URL;

public class AppletExample extends Applet {

    public void init() {

       try {
             getAppletContext().showDocument(new URL("http://www.google.com"), "_blank");
       }
       catch (MalformedURLException ex) {
            System.out.println(ex.getMessage());
       }
    }

    public void paint( Graphics g ) {

       g.drawString("Go Google", 0,100);
    }

}

アイデアはgetAppletContext().showDocument(new URL("http://www.google.com"), "_blank");、アプレットでユーザーをリダイレクトすることですが、それはできません。_self など、_blank 以外にもさまざまなものを試しました

何をすべきか?なぜリダイレクトしないのですか?

4

1 に答える 1

1

これが発生する理由は複数あります。

まず、AppletContext-JavaDocから引用します。

void showDocument(URL url)

ブラウザまたはアプレット ビューアが、url 引数で示される Web ページを表示するように要求します。ブラウザまたはアプレット ビューアは、Web ページを表示するウィンドウまたはフレームを決定します。このメソッドは、ブラウザではないアプレット コンテキストでは無視される場合があります。

特定のメソッド呼び出し(オーバーロードされたバージョン)から引用するには:

void showDocument(URL url, String target)

[...] アプレット ビューアまたはブラウザは、自由に無視できshowDocumentます。

そのため、ブラウザでアプレットを表示していない場合、またはブラウザが呼び出しを無視することにした場合は、何もできません。


また、そもそもこれがサポートされているかどうかは、VM 実装に依存しているようです。Apple Mailing-List からのこの古い投稿を参照してください。

最後になりましたが、自分で試してみたところ、うまくいきましたが、リクエストはポップアップブロッカーによってブロックされました (手動で許可する必要がありました)。私が使用した:

  • Mozilla Firefox 12.0
  • Java(TM) SE ランタイム環境 (ビルド 1.7.0_04-b20)、64 ビット
  • すべて Linux で
于 2012-06-27T15:43:26.360 に答える