我想做applet启动一个frame,然后点击frame打开一个网页的程序,可是我
这个是我的程序,等我不通过服务器的时候,就是说直接点text.html是没有问题,但我要是通过服务器访问的话,就打不开新页面,这个是怎么回事?有遇到过这个问题的朋友帮忙告诉一下啊
补充,我已经加了数字验证
text.html
 <APPLET
code= "test.ShowLogNum.class"
archive="client.jar"
width= "100%"
height= "100%"
></APPLET>ShowLogNum.java
package test;import java.applet.Applet;
import java.awt.event.MouseEvent;
import java.net.MalformedURLException;
import java.net.URL;import javax.swing.JLabel;
import javax.swing.JPanel;public class ShowLogNum extends Applet { private JLabel jLabel = null;
private JPanel jPanel = null; /**
 * This is the default constructor
 */
public ShowLogNum() {
super();
} public static void mousefClicked(java.awt.event.MouseEvent e) { if(e.getModifiers()==MouseEvent.BUTTON1_MASK){
System.out.println("您按了滑鼠第一个按钮!");
}
if(e.getModifiers()==MouseEvent.BUTTON2_MASK){
System.out.println("您按了滑鼠第二个按钮!");
}
if(e.getModifiers()==MouseEvent.BUTTON3_MASK){
System.out.println("您按了滑鼠第叁个按钮!");
}
} /**
 * This method initializes this
 * 
 * @return void
 */
public void init() {
jLabel = new JLabel();
jLabel.setText("<html><a href='ss'>消息来自</a><br><br>共有<a href='d'>1</a>条消息</html>");
jLabel.setLocation(new java.awt.Point(59,0));
jLabel.setSize(new java.awt.Dimension(118,79));
/*jLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
}
});*/
jLabel.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
mousefClicked(e);
System.out.println("mouseClicked()"); // TODO Auto-generated Event stub mouseClicked()
try {
getAppletContext().showDocument(new URL("http://192.168.0.214:8080"),"_blank");
System.out.println("asdkjjksadsadjkdsjk;");
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();

}
});
this.setSize(179, 79);
this.setLayout(null);
this.add(jLabel);
this.add(getJPanel(), null);
} /**
 * This method initializes jPanel
 * 
 * @return javax.swing.JPanel
 */
private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
jPanel.setBounds(new java.awt.Rectangle(1,1,56,77));
//jPanel.setSize(56,77);
}
return jPanel;
}}  //  @jve:decl-index=0:visual-constraint="10,10"

解决方案 »

  1.   

    Applet是不需要web服务器来运行的!你说的大不开,去看一下是不是class文件的路径错了
      

  2.   

    恩,文件路径没有问题。
    如果我直接用IE打开text.html是没有问题的,我是想通过实现通过服务器来访问我的applet(http://192.168.0.12:8080/text.html),我的frame界面也出来了,可是点击打不开网页
      

  3.   

    你有没有下载JDK的文档,如果下载了的话,参考:
    jdk1.5.0_02\docs\guide\plugin\developer_guide\contents.html
      

  4.   

    xuyangkui2004(hongfu) 
    你是通过服务器访问的吗?
      

  5.   

    我试了一下你的程序,可以通过。我的测试过程是这样的,使用本地tomcat服务器。
    1)把ShowLogNum中的URL改为"http://localhost:8080/tomcat-docs/index.html"
    2)把"_blank"改为"_self"。可能是我的浏览器有问题,使用“_blank”没有结果,不管是否使用服务器。
    3)把text.html和class放到tomcat的"webapps\tomcat-docs\"目录下
    4)打开浏览器,输入http://localhost:8080/tomcat-docs/text.html,applet启动。
    5)点击“按钮”,页面改变。你的问题可能是出在URL上。我使用“http://localhost:8080”和“http://localhost:8080/tomcat-docs”都没有反应。
      

  6.   

    我的测试结果:
    1)"_blank"这个条件没变,我的不在服务器访问(就是直接写一个HTML文件,直接打开)的话就好用的,可以打开一个新网页
    2)"_blank"这个条件没变,在服务器访问的话没有反映。
    3)"_self"不管是在服务器还是不在服务器上都好用。现在我的需求是需要打开一个新网页,我想知道"_blank"这个是不是可以打开一个新网页(在服务器访问)
      

  7.   

    我这里问题解决了,“_blank”也可以用了,URL可以采用“http://community.csdn.net/”,不管是不是通过服务器。我的解决办法是,把“百度上网伴侣”中的“拦截浮动广告”取消。
    你的问题是不是也是这样?或者,可能会与防火墙有关。
      

  8.   

    我的也行了,我把IE上的工具都卸了以后就没有问题了,多谢,我在GUI中也有一张贴,那个贴的分也给你吧,不忙的话的过去顶一下去
    http://community.csdn.net/Expert/TopicView1.asp?id=4761463