Java Applet无法在本地样式上显示

时间:2014-07-14 14:03:17

标签: java applet

我正在学习Java Applet,我创建了以下Java Applet代码

import java.awt.Graphics;
import java.applet.Applet;

public class AppletDemo1 extends Applet{
    public void mai(Graphics g)
    {
        g.drawString("Hello World Wide Web", 60, 60);
    }
}

使用Eclipse,传递调试。

然后我创建了一个HTML文件,如下所示

<Applet
CODE = "AppletDemo1.class"
WIDTH = 300 HEIGHT = 150>
</APPLET>

当我双击此HTML文件或从Firefox或MS IE&#34;文件&#34;打开它时,一切都不起作用。页面只显示空白,没有显示

我更改为以下HTML

<HTML>
<HEAD>
</HEAD>
<BODY>
<div >
<APPLET CODE="AppletDemo1.class" WIDTH="800" HEIGHT="500">
</APPLET>
</div>
</BODY>
</HTML>

然后打开FireFox下的html文件,系统正在运行,但页面卡在那里,整个页面空白,其他应用程序变慢,我等了几分钟,它似乎在运行但没有任何输出

有谁可以告诉我失败的原因是什么? 非常感谢

2 个答案:

答案 0 :(得分:0)

首先使用javac AppletDemo1.java继续编译您的类,并将生成AppletDemo1.class和html文件保存在同一个文件夹中

尝试为html文件的主体提供背景颜色,以便您可以看到applet正在运行 然后,如果要运行applet,只需打开命令提示符并键入

appletviewer yourHtmlFileName.html 

它会弹出你的applet

或者如果您想在浏览器中显示它,只需右键单击html文件并使用Internet Explorer打开它,它将显示小程序。

还有一件事是在applet标签之间添加一些文本,以便在浏览器中显示文本时可以知道它的运行情况。

答案 1 :(得分:0)

您认为您的方法public void mai(Graphics g)如何被调用?

请阅读applets上的Java教程(http://docs.oracle.com/javase/tutorial/deployment/applet/)。

请参阅以下简单示例:

import java.applet.Applet;
import java.awt.Graphics;

//No need to extend JApplet, since we don't add any components;
//we just paint.
public class Simple extends Applet {

    StringBuffer buffer;

    public void init() {
        buffer = new StringBuffer();
        addItem("initializing... ");
    }

    public void start() {
        addItem("starting... ");
    }

    public void stop() {
        addItem("stopping... ");
    }

    public void destroy() {
        addItem("preparing for unloading...");
    }

    private void addItem(String newWord) {
        System.out.println(newWord);
        buffer.append(newWord);
        repaint();
    }

    public void paint(Graphics g) {
    //Draw a Rectangle around the applet's display area.
        g.drawRect(0, 0, 
           getWidth() - 1,
           getHeight() - 1);

    //Draw the current string inside the rectangle.
        g.drawString(buffer.toString(), 5, 15);
    }
}