出现这种情况,一般说明你的Applet程序有问题,再网页上看不了,找找问题看

解决方案 »

  1.   

    用javascript实现
    <html>
    <head>
    <script language="JavaScript">
    <!-- Hidevar scrtxt="怎麽样 ! 很酷吧 ! 您也可以试试."+"Here goes your message the visitors 
    to your page will "+
    "look at for hours in pure fascination...";
    var lentxt=scrtxt.length;
    var width=100;
    var pos=1-width;function scroll() {
      pos++;
      var scroller="";
      if (pos==lentxt) {
        pos=1-width;
      }
      if (pos<0) {
        for (var i=1; i<=Math.abs(pos); i++) {
          scroller=scroller+" ";}
        scroller=scroller+scrtxt.substring(0,width-i+1);
      }
      else {
        scroller=scroller+scrtxt.substring(pos,width+pos);
      }
      window.status = scroller;
      setTimeout("scroll()",150);
      }
    //-->
    </script>
    </head>
    <body onLoad="scroll();return true;">
    这里可显示您的网页 !
    </body>
    </html>
      

  2.   

    我的程序没问题!
    我想问的是:一般情况下带applet的页面中间显示进度条“正在载入xxxx",左下角会显示"小应用程序TestApplet启动"。
    但是在网上看到一些程序的左下角却显示"警告:Applet窗口",我现在就是要在页面左下角显示"警告:Applet窗口"这种效果?难道网上看到的那个是个程序,而不是applet页面?
    我真糊涂了!
      

  3.   

    Applet本身是嵌在页中的,在浏览器载入的过程中会在浏览器的状态栏中显示载入的进度;如果在Applet类文件中声明一个Frame类,并将此Frame窗体类实例化,然后加以显示,那么就会在这个打开的窗体的下面状态栏上显示“警告:Applet窗口"
      

  4.   

    inside your AppletshowStatus("Warning:An Applet Window!");
      

  5.   

    谁会呀?想要做的效果如下:
    不让用户看到"正在加载xxxx类,正在加载xxxx资源"这个进度条?
    当applet页面启动时不让java plug-in的小茶杯图标显示在任务栏?
      

  6.   

    你可以把那个页面放到一个FRAME里面
      

  7.   

    你可以把那个页面放到一个FRAME里面
    ==================================
    怎么将带有applet的WEB页面放到FRAME里面?
    又该怎样在JSP页面里调用这个FRAME?
      

  8.   

    当applet页面启动时不让java plug-in的小茶杯图标显示在任务栏
    控制面板-〉java-plugin->初级-〉隐藏/不启动控制台不让用户看到"正在加载xxxx类,正在加载xxxx资源"这个进度条?
    是指IE上的进度条?如果是的话,就是上面那个JavaScript,
      

  9.   

    到底怎么写呀?是在FRAME中嵌入applet,还是在applet中嵌入FRAME?
    在applet中加入如下代码,为什么分别弹出FRAME窗体与APPLET窗体,而不是一个窗体?
    frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
    frame.setVisible(true);
      

  10.   

    到底怎么写呀?是在FRAME中嵌入applet,还是在applet中嵌入FRAME?
    在applet中加入如下代码,为什么分别弹出FRAME窗体与APPLET窗体,而不是一个窗体?
    frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
    frame.setVisible(true);
      

  11.   

    将jre升级为1.4就没有这个问题了。
      

  12.   

    我用的就是1.4呀?
    ===================
    到底怎么写呀?是在FRAME中嵌入applet,还是在applet中嵌入FRAME?
    在applet中加入如下代码,为什么分别弹出FRAME窗体与APPLET窗体,而不是一个窗体?
    frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
    frame.setVisible(true);
      

  13.   

    其实那个带有警告的窗口不是IE窗口,而是Applet显示的一个Java窗口,所以不是在FRAME中嵌入Applet,也不是在Applet中嵌入FRAME,这里的FRAME不是HTML语言中的“框架",而是Java语言中的Frame类。以下的代码生成的ShowStatus.class既可以是做为一个Applet嵌入到IE中,也可以独立执行,请参考:
    /*File ShowStatus.java*/
    //-------------------------------------------------------------
    /*
      you can use command :"javac ShowStatus.java "to compile it,
      and use command :"java -classpath . ShowStaus" to execute it,
      or use it in a html file and use the following code like this:
      <applet code="ShowStatus.class" >
       browser not support Java!
      </applet>
    */
    //-----------------------------------------------------------------
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;class ShowStatus extends Applet{
    Button btnTest;
    Frame  frmWindow;
    public void init(){
    btnTest=new Button("PressME");
    frmWindow=new Frame("DemoWindow");
    BorderLayout lm=new BorderLayout();
    setLayout(lm);
    btnTest.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
    frmWindow.addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent e){
        frmWindow.dispose();
      }

    });
    frmWindow.setSize(200,200);
    frmWindow.setVisible(true);
    }

    });
       add(btnTest,lm.CENTER);
    }
       public void destroy(){
          System.exit(0);
        }
        public static void main(String args[]){
        ShowStatus curIns=new ShowStatus();
        curIns.init();
        Frame mainWin=new Frame("Standalone Window");
        mainWin.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e){
        System.exit(0);
        }
          });
        mainWin.setSize(200,80);
        mainWin.add(curIns);
        mainWin.setVisible(true);
        }
    }
      

  14.   

    补充:生成的类全部都要拷贝到网页相应的目录中!这些类包括ShowStauts.class、ShowStatus$1.class、ShowStatus$2.class、ShowStatus$3.class,后面的三个类文件是由Java编译器在编译源程序时生成的匿名内部类文件,否则Applet不能正常执行!
      

  15.   

    是的呀。我编译后这几个类和HTML都在同一个目录呀。在我这IE6就是运行不了。更看不到"警告:Applet窗口"
      

  16.   

    我已经测试过了,用j2sdk1.4.1_01编译后会有问题,请利用jdk1.1.8进行编译,即可通过!
      

  17.   

    刚才我又用j2sdk1.4.1_01进行了测试,步骤如下:
      (1)激活IE中的j2sdk1.4.01的applet插件
      (2)将源文件ShowStatus.java 中class Status extends Applet{....}的前面加上public 关键字,用j2sdk1.4.1_01所带的javac将ShowStatus.java重新编译
      (3)测试相应的网页,显示正常
      (4)在IE的选项对话框中,去掉j2sdk1.4.1的插件,采用微软的jvm,此时不能正常执行
      (5)改用jdk1.1.8,再次编译修改后的源文件,则无论采用j2sdk1.4.1的ie插件,还是ms的jvm,都能正常显示。
      (6)如果不修改源代码,则只能利用jdk1.1.8进行编译,编译后在IE中只能利用微软的jvm,才能正常执行,用sun的j2sdk1.4.1_01所带的IE插件不能正常执行!   总结:如果开发Applet应用,请最好利用jdk1.1进行编译,这样可以保证在用户采用不同的虚拟机时,applet都能正常执行^-^
       
       看来,sun和微软的官司真是java开发者的不幸,真希望二者能在java上达成一致!否则...唉
    现将修改后的代码重贴:/*File ShowStatus.java*/
    //-------------------------------------------------------------
    /*
      you can use command :"javac ShowStatus.java "to compile it,
      and use command :"java -classpath . ShowStaus" to execute it,
      or use it in a html file and use the following code like this:
      <applet code="ShowStatus.class" >
       browser not support Java!
      </applet>
    */
    //-----------------------------------------------------------------
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    //------------------------------------------------------------------
    //下面的代码加入了一个public关键字
    public class ShowStatus extends Applet{   
    Button btnTest;
    Frame  frmWindow;
    public void init(){
    btnTest=new Button("PressME");
    frmWindow=new Frame("DemoWindow");
    BorderLayout lm=new BorderLayout();
    setLayout(lm);
    btnTest.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
    frmWindow.addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent e){
        frmWindow.dispose();
      }

    });
    frmWindow.setSize(200,200);
    frmWindow.setVisible(true);
    }

    });
       add(btnTest,lm.CENTER);
    }
       public void destroy(){
          System.exit(0);
        }
        public static void main(String args[]){
        ShowStatus curIns=new ShowStatus();
        curIns.init();
        Frame mainWin=new Frame("Standalone Window");
        mainWin.addWindowListener(new WindowAdapter(){
        public void windowClosing(WindowEvent e){
        System.exit(0);
        }
          });
        mainWin.setSize(200,80);
        mainWin.add(curIns);
        mainWin.setVisible(true);
        }
    }
      

  18.   

    又遇到下面一系列关联的问题了
    1>当applet弹出Frame窗口时怎样悄悄地隐藏(关闭)applet.html页面?总不能让用户看到applet.html页面吧?
    因为操作界面(组件)都在Frame里(注意我说的那个网站的流程图的加载过程)
    2>Frame左下角为英文的"Java Applet Window",怎样变成中文的"警告:Applet窗口"?
    3>点击右上角的"X"为什么不能关闭Frame1?而关闭Applet1时却一同把Frame1给关闭了?
    我自己分别单独建立了一个Applet1和Frame1,在Applet1中调用Frame1
    //Applet1的代码
    private void jbInit() throws Exception {
         Frame1 fra=new Frame1();
         fra.setSize(200,200);
         fra.setVisible(true);
      }
    //Frame1的代码
    private void jbInit() throws Exception {
    this.addWindowListener(new java.awt.event.WindowAdapter() {
          public void windowClosed(WindowEvent e) {
            this_windowClosed(e);
          }
        });
    this.add(panel1, BorderLayout.CENTER);
    }
    void this_windowClosed(WindowEvent e) {
         dispose();//这里写成System.exit(0);也不能关闭Frame1
      }
      

  19.   

    hdwangyi(hdwangyi):
    我们讨论完这个问题,我会给你加分的,这个帖子分少,请到我下面的帖子中领分。
    http://expert.csdn.net/Expert/topic/1464/1464666.xml?temp=.3658106
    http://expert.csdn.net/Expert/topic/1470/1470347.xml?temp=.1701929
    谢谢!
      

  20.   

    解决方案:
       首先,建立三个网页,分别起名为form.html,applet.html,blank.htm,其中form.html含有一个html表单,其中有一个按钮名为btnDemo,此超文本文件示例代码如下:
    <!--文件form.html-->
    <html>
    <head>
    <title>A simple Applet Window Demo </title>
    </head>
    <body>
    <h3>本示例如果在配置好的web服务器,如IIS或Apache上进行测试时,</h3>
    <h3>请将示例网页及相应的类文件拷贝到web服务器的同一个发布目录中,</h3>
    <h3>从浏览器中以http协议访问,如http://localhost/form.html</h3>
    <h3>也可直接在本地硬盘目录中进行测试,但此时不能保证在所有浏览器中</h3>
    <h3>都能正确隐藏applet.html页面,但在Internet Explore中可正确执行</h3>
    <form  action="applet.html">
       <input type="button" value="显示窗口" onclick="submit()">
    </form>
    </body>
    </html>第二个网页applet.html代码如下:
    <html>
    <head>
    <title>Applet Demo</title>
    </head>
    <body>
      <applet code="ShowStatus.class" width="50" height="50">
        Sorry,your browser not support java!
      </applet>
    </body>
    </html>第三个网页blank.html内容可自定,因为在用户按了form.html页面中的按钮后,服务器将加传applet.html网页,此网页中的applet小程序将自动弹出一个Java窗口,并利用第三个网页blank.html的内容将自己所在applet.html隐藏起来,即在浏览器中利用第三网页的内容代替applet.html的内容。为了简便,我们设定blank.html有如下基本代码:
    <html>
    <head></head>
    <body></body>
    </html>
    请注意,这三个网页和生成的java的类文件全部都要拷贝到相应目录中,测试时可直接在此目录中双击form.html进行测验,但有些浏览器不能正常隐藏applet页面,如mozilla,但在IE中是正常的。如在自己的机器上装一个IIS或Apache,按WEB形式做测试,则在不会出问题。如果要进行WEB测试,假定相应的网页和类文件都在c:\appletdemo中,设定此文件夹在iis中虚拟目录是appletdemo,则可在自己的计算机上以http://localhost/appletdemo/form.html访问该示例。相应的java源文件如下:
    //文件Status.java
    /*此applet可执行在网页,也可独立执行。但独立执行时
     只显示一个窗口。如果将它用于网页,请注意如果要在本地硬盘上测试
     的话,要选择IE做为测试浏览器,其他浏览器不能保证正确地将此applet
      所在的页面以blank.html替换
    */
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.net.URL;
    import java.net.MalformedURLException;
    import java.io.*;
    class MyFrame extends Frame{
    private static int curCounter=0;
    //Constructor :Add WindowsListener for this class

    private void init(){
    addWindowListener(new WinHandle(this));
    setSize(300,300);
    synchronized(this){
       curCounter++;
       }
    }
    public MyFrame(){
    init();
    }
    public MyFrame(String title){
    super(title);
    init();
    }
    //--------------------------------------------
    //inner class to handle Windows Closing Event
    class WinHandle extends WindowAdapter{
    private MyFrame curWin;
    public WinHandle(MyFrame curWin){
    this.curWin=curWin;
    }
    public void windowClosing(WindowEvent e){
    synchronized(this){
         curCounter--;
        }
    curWin.dispose();
    }
    public void windowClosed(WindowEvent e){
    if(curCounter==0) System.exit(0);
    }

    }
    //----------------------------------------------
    }public class ShowStatus extends Applet{ public void init(){
    try{
         MyFrame frmWindow=new MyFrame("DemoWindow");
        frmWindow.setVisible(true);
        URL url=new URL(getDocumentBase(),"blank.html");
        getAppletContext().showDocument(url,"_self");
        stop();
    }
    catch(MalformedURLException e){
    e.printStackTrace();
    }


    }
       public void destroy(){
          System.exit(0);
        }
       public void stop(){
       }
        public static void main(String args[]){
        ShowStatus curIns=new ShowStatus();
        curIns.init();
        MyFrame mainWin=new MyFrame("Standalone Window");
        mainWin.setSize(200,200);
        mainWin.add(curIns);
        mainWin.setVisible(true);
        }

    }
    请最好用jdk1.1.8进行编译,我用jdk1.3.0做过测试,也能正常运行在ms的jvm中,但如果用
    jdk1.4.1_01编译,则只能运行在j2sdk1.4.1_01的虚拟机IE插件中。源码解释:
      applet在装入页面时会自动执行一次init()方法,所以可以利用这一特性自动显示对应的java窗口,然后利用getAppletContext().showDocument方法显示另一个网页,从而隐藏了自己所在的网页。  楼主所写的代码之所以不能关闭弹出的java窗体,是因为重载的WindowAdapter类中的方法不对,应重载windowClosing方法,而不是windowClosed方法。在windowClosing方法中利用Frame类的dispose方法关闭当前窗口就可以了。这里我也对windowClosed进行了重载,主要是为了使程序逻辑清楚。至于那个静态变量,是一个窗口计数器,其目的是当此程序运行在application的模式时监测当前系统中究竟有几个MyFrame类的实例。当实例的个数为零时,将退出系统,终止application的运行。
      

  21.   

    更正:上面第一行文字中的blank.htm应为blank.html,不是blank.htm,即用来隐藏applet.html页面的网页文件名应为blank.html
      

  22.   

    不好意思,再更正一处,在java源文件的注释中说该文件名为Status.java,其实此文件名应为ShowStatus.java,因为公共主类的名字为ShowStatus.java,java语言要求文件名必须与公共类的名字相同。还有些多余的字,都是在修改过程中不小心打上去的!^-^