Applet中的图像未显示在网页中

时间:2010-04-13 16:37:59

标签: java jsp image applet

我正在尝试在基于Web的应用程序上使用的Java小程序上显示JPEG图像和移动点。但是,当我运行applet时,它运行正常,但是当我从JSP页面显示applet时,我得到的是移动点而不是JPEG图像。

是否有JPEG需要的特定文件夹?

这是我用于在屏幕上绘制图片和移动点的两种方法。

public class mapplet extends Applet implements Runnable {

int x_pos = 10;
int y_pos = 100;
int radius = 20;
Image img, img2;
Graphics gr;
URL base;
MediaTracker m;

@Override
public void init() {

        mt = new MediaTracker(this);

        try {
            //getDocumentbase gets the applet path.
           base = getCodeBase();
          img = getImage(base, "picture.jpg");
            m.addImage(img, 1);
            m.waitForAll();
        } catch (InterruptedException ex) {
            Logger.getLogger(movement.class.getName()).log(Level.SEVERE, null, ex);
       }

public void paint (Graphics g) {

 g.drawImage(img, 0, 0, this);
// set color
 g.setColor (Color.red);

// paint a filled colored circle
g.fillOval (x_pos - radius, y_pos - radius, 2 * radius, 2 * radius);

}

下面的代码是来自jsp页面的调用

<applet archive="mapplet.jar" code="myapplets/mapplet.class" width=350 height=200>
</applet>

jar文件和图片与jsp页面位于同一文件夹中,还有一个文件夹,其中包含应用程序Web部分中applet的类和图像的内容。小程序加载正常,但图片不显示。我认为这不是代码,而是图片的位置导致问题。

由于

3 个答案:

答案 0 :(得分:0)

是的,图像应与源代码位于同一文件夹中。我建议做一个名为images的文件夹,在里面放置你所有的图像,只需将“picture.jpg”改为“\ images \ picture.jpg”即可。检查您的网站目录,查看该图像是否与源代码位于同一文件夹中。

答案 1 :(得分:0)

有些评论可能会让您更清楚。

//getDocumentbase gets the applet path.

没有。 getDocumentBase()提供了网页的路径。但这既不在这里,也不存在,因为这个applet实际上是在调用..

base = getCodeBase();

..提供代码库。除非在applet元素中指定了codebase参数,否则代码库默认到网页目录。由于applet元素未声明codebase,因此base将与文档库的URL相同。


BTW:在小程序元素

code="myapplets/mapplet.class"

..应该是..

code="myapplets.mapplet"

由于Java类名称的常用术语是EachWordUpperCase,因此应更改类名。

小程序是否声明了?

package myapplets;

BTW(2):

  

还有一个文件夹,其中包含应用程序的Web部分中applet的类和图像的内容。

这是什么意思?请提供从服务器根目录到使用的所有资源(例如HTML / JSP,Jar文件和图像)的完整路径。

答案 2 :(得分:0)

请检查您的路径..或解决它,请将您的文件放在一个文件夹中,并用JAR文件打包。并提供jar中图像文件的相对路径。 喜欢: 让你的applet名称是包demoBA中的myapp.class 然后将您的文件放在demoapp中的dir“images”中,并在所有java代码中提供相对于此路径的路径。 别忘了在jar版本中包含图像文件。