我已在主代码中集成了以下代码:
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");
会将用户重定向到applet中,但它只是不会这样做。除了_blank之外,我尝试了不同的东西,比如_self
怎么办?为什么不重定向?
答案 0 :(得分:1)
有多种情况可能会发生这种情况:
首先,引用AppletContext
- JavaDoc:
请求浏览器或小程序查看器显示指示的网页 通过url参数。浏览器或applet查看器确定哪个 用于显示网页的窗口或框架。 此方法可能会被忽略 通过不是浏览器的applet上下文。
并引用您的特定方法调用(这是重载版本):
void showDocument(URL url, String target)
[...] applet查看器或浏览器可以忽略
showDocument
。
因此,如果您没有在浏览器中查看Applet,或者浏览器决定忽略您的呼叫,则无法对其进行任何操作。
此外,如果首先支持VM,它似乎依赖于VM实现。请参阅此older post from an Apple Mailing-List。
最后但并非最不重要的是,当我自己尝试时,它有效,但请求被PopUp-Blocker阻止(并且必须手动授予)。我用过: